diff --git a/README.md b/README.md
index c9908eb..175def3 100644
--- a/README.md
+++ b/README.md
@@ -105,22 +105,7 @@ client.send_batch(
)
```
-### Email Templates API
-
-```ruby
-require 'mailtrap'
-
-client = Mailtrap::Client.new(api_key: 'your-api-key')
-templates = Mailtrap::EmailTemplatesAPI.new 3229, client
-
-templates.create(
- name: 'Welcome Email',
- subject: 'Welcome to Mailtrap!',
- body_html: '
Hello
',
- body_text: 'Hello',
- category: 'welcome'
-)
-```
+### Usage Examples
Refer to the [`examples`](examples) folder for more examples:
@@ -129,6 +114,7 @@ Refer to the [`examples`](examples) folder for more examples:
- [Batch Sending](examples/batch.rb)
- [ActionMailer](examples/action_mailer.rb)
- [Email Templates API](examples/email_templates_api.rb)
+- [Projects API](examples/projects_api.rb)
### Content-Transfer-Encoding
@@ -178,12 +164,18 @@ If you use classes which have `Sending` namespace, remove the namespace like in
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
-To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
+To install this gem onto your local machine, run `bundle exec rake install`.
+
+To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
## Contributing
Bug reports and pull requests are welcome on [GitHub](https://github.com/mailtrap/mailtrap-ruby). This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](CODE_OF_CONDUCT.md).
+All contributions are required to have rspec tests covering its functionality.
+
+Please be sure to update [README](README.md) with new examples and features when applicable.
+
## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
diff --git a/examples/projects_api.rb b/examples/projects_api.rb
new file mode 100644
index 0000000..37f7735
--- /dev/null
+++ b/examples/projects_api.rb
@@ -0,0 +1,28 @@
+require 'mailtrap'
+
+account_id = 3229
+client = Mailtrap::Client.new(api_key: 'your-api-key')
+projects_api = Mailtrap::ProjectsAPI.new(account_id, client)
+
+# Set your API credentials as environment variables
+# export MAILTRAP_API_KEY='your-api-key'
+# export MAILTRAP_ACCOUNT_ID=your-account-id
+#
+# projects_api = Mailtrap::ProjectsAPI.new
+
+# Get all projects
+projects_api.list
+
+# Create a new project
+project = projects_api.create(
+ name: 'Example Project'
+)
+
+# Get a project
+project = projects_api.get(project.id)
+
+# Update a project
+project = projects_api.update(project.id, name: 'New Project name')
+
+# Delete a project
+projects_api.delete(project.id)
diff --git a/lib/mailtrap.rb b/lib/mailtrap.rb
index 7c32975..3b6af23 100644
--- a/lib/mailtrap.rb
+++ b/lib/mailtrap.rb
@@ -10,6 +10,7 @@
require_relative 'mailtrap/contact_fields_api'
require_relative 'mailtrap/contact_imports_api'
require_relative 'mailtrap/suppressions_api'
+require_relative 'mailtrap/projects_api'
module Mailtrap
# @!macro api_errors
diff --git a/lib/mailtrap/inbox.rb b/lib/mailtrap/inbox.rb
new file mode 100644
index 0000000..d845581
--- /dev/null
+++ b/lib/mailtrap/inbox.rb
@@ -0,0 +1,62 @@
+# frozen_string_literal: true
+
+module Mailtrap
+ # Data Transfer Object for Inbox
+ # @see https://api-docs.mailtrap.io/docs/mailtrap-api-docs/ee252e413d78a-create-project
+ # @attr_reader id [Integer] The inbox ID
+ # @attr_reader name [String] The inbox name
+ # @attr_reader username [String] The inbox username
+ # @attr_reader password [String, nil] The inbox password
+ # @attr_reader max_size [Integer] The maximum inbox size in MB
+ # @attr_reader status [String] The inbox status
+ # @attr_reader email_username [String] The email username
+ # @attr_reader email_username_enabled [Boolean] Whether the email username is enabled
+ # @attr_reader sent_messages_count [Integer] The count of sent messages
+ # @attr_reader forwarded_messages_count [Integer] The count of forwarded messages
+ # @attr_reader used [Integer] The used inbox size in MB
+ # @attr_reader forward_from_email_address [String] The forwarding email address
+ # @attr_reader project_id [Integer] The associated project ID
+ # @attr_reader domain [String] The inbox domain
+ # @attr_reader pop3_domain [String] The POP3 domain
+ # @attr_reader email_domain [String] The email domain
+ # @attr_reader api_domain [String] The API domain
+ # @attr_reader emails_count [Integer] The total number of emails
+ # @attr_reader emails_unread_count [Integer] The number of unread emails
+ # @attr_reader last_message_sent_at [String, nil] The timestamp of the last sent message
+ # @attr_reader smtp_ports [Array] The list of SMTP ports
+ # @attr_reader pop3_ports [Array] The list of POP3 ports
+ # @attr_reader max_message_size [Integer] The maximum message size in MB
+ # @attr_reader permissions [Hash] List of permissions
+ Inbox = Struct.new(
+ :id,
+ :name,
+ :username,
+ :password,
+ :max_size,
+ :status,
+ :email_username,
+ :email_username_enabled,
+ :sent_messages_count,
+ :forwarded_messages_count,
+ :used,
+ :forward_from_email_address,
+ :project_id,
+ :domain,
+ :pop3_domain,
+ :email_domain,
+ :api_domain,
+ :emails_count,
+ :emails_unread_count,
+ :last_message_sent_at,
+ :smtp_ports,
+ :pop3_ports,
+ :max_message_size,
+ :permissions,
+ keyword_init: true
+ ) do
+ # @return [Hash] The inbox attributes as a hash
+ def to_h
+ super.compact
+ end
+ end
+end
diff --git a/lib/mailtrap/project.rb b/lib/mailtrap/project.rb
new file mode 100644
index 0000000..a7a531c
--- /dev/null
+++ b/lib/mailtrap/project.rb
@@ -0,0 +1,25 @@
+# frozen_string_literal: true
+
+module Mailtrap
+ # Data Transfer Object for Project
+ # @see https://api-docs.mailtrap.io/docs/mailtrap-api-docs/ee252e413d78a-create-project
+ # @attr_reader id [Integer] The project ID
+ # @attr_reader name [String] The project name
+ # @attr_reader share_links [Hash] Admin and viewer share links
+ # @attr_reader inboxes [Array] Array of inboxes
+ # @attr_reader permissions [Hash] List of permissions
+ #
+ Project = Struct.new(
+ :id,
+ :name,
+ :share_links,
+ :inboxes,
+ :permissions,
+ keyword_init: true
+ ) do
+ # @return [Hash] The Project attributes as a hash
+ def to_h
+ super.compact
+ end
+ end
+end
diff --git a/lib/mailtrap/projects_api.rb b/lib/mailtrap/projects_api.rb
new file mode 100644
index 0000000..5b326d5
--- /dev/null
+++ b/lib/mailtrap/projects_api.rb
@@ -0,0 +1,77 @@
+# frozen_string_literal: true
+
+require_relative 'base_api'
+require_relative 'project'
+require_relative 'inbox'
+
+module Mailtrap
+ class ProjectsAPI
+ include BaseAPI
+
+ self.supported_options = %i[name]
+
+ self.response_class = Project
+
+ # Lists all projects for the account
+ # @return [Array] Array of projects
+ # @!macro api_errors
+ def list
+ base_list
+ end
+
+ # Retrieves a specific project
+ # @param project_id [Integer] The project ID
+ # @return [Project] Project object
+ # @!macro api_errors
+ def get(project_id)
+ base_get(project_id)
+ end
+
+ # Creates a new project
+ # @param [Hash] options The parameters to create
+ # @option options [String] :name The project name
+ # @return [Project] Created project object
+ # @!macro api_errors
+ # @raise [ArgumentError] If invalid options are provided
+ def create(options)
+ base_create(options)
+ end
+
+ # Updates an existing project
+ # @param project_id [Integer] The project ID
+ # @param [Hash] options The parameters to update
+ # @return [Project] Updated project object
+ # @!macro api_errors
+ # @raise [ArgumentError] If invalid options are provided
+ def update(project_id, options)
+ base_update(project_id, options)
+ end
+
+ # Deletes a project
+ # @param project_id [Integer] The project ID
+ # @return nil
+ # @!macro api_errors
+ def delete(project_id)
+ base_delete(project_id)
+ end
+
+ def build_entity(options, response_class)
+ response_class.new(
+ **options.slice(*(response_class.members - [:inboxes])),
+ inboxes: options[:inboxes]&.map do |inbox|
+ inbox.is_a?(Mailtrap::Inbox) ? inbox : Mailtrap::Inbox.new(**inbox)
+ end
+ )
+ end
+
+ private
+
+ def base_path
+ "/api/accounts/#{account_id}/projects"
+ end
+
+ def wrap_request(options)
+ { project: options }
+ end
+ end
+end
diff --git a/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_create/maps_response_data_to_Project_object.yml b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_create/maps_response_data_to_Project_object.yml
new file mode 100644
index 0000000..dc1b820
--- /dev/null
+++ b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_create/maps_response_data_to_Project_object.yml
@@ -0,0 +1,168 @@
+---
+http_interactions:
+- request:
+ method: post
+ uri: https://mailtrap.io/api/accounts/1111111/projects
+ body:
+ encoding: UTF-8
+ string: '{"project":{"name":"New Project"}}'
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:47 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '144'
+ Etag:
+ - W/"068e7482a443be1cfa101ad7b01feb49"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-xBW8pcSWFuexQy0xQfhkGw==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - e650c437-d721-4974-b354-62ccedcdd216
+ X-Runtime:
+ - '0.085443'
+ X-Cloud-Trace-Context:
+ - 17bcba5cef204f30c89d68f7d8aa8d0b;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a64668494c4ede-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"id":2568506,"name":"New Project","share_links":{"admin":"https://mailtrap.io/projects/2568506/share/REDACTED","viewer":"https://mailtrap.io/projects/2568506/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}'
+ recorded_at: Thu, 06 Nov 2025 17:22:47 GMT
+recorded_with: VCR 6.2.0
diff --git a/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_create/when_API_returns_an_error/raises_a_Mailtrap_Error.yml b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_create/when_API_returns_an_error/raises_a_Mailtrap_Error.yml
new file mode 100644
index 0000000..4c44484
--- /dev/null
+++ b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_create/when_API_returns_an_error/raises_a_Mailtrap_Error.yml
@@ -0,0 +1,166 @@
+---
+http_interactions:
+- request:
+ method: post
+ uri: https://mailtrap.io/api/accounts/1111111/projects
+ body:
+ encoding: UTF-8
+ string: '{"project":{"name":""}}'
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 422
+ message: Unprocessable Entity
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:48 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Content-Length:
+ - '79'
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '142'
+ Cache-Control:
+ - no-cache
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-BWGcN9hcn2TkDTEK96tpow==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - 67ba748d-d8b7-451b-9831-d6cf9ca60321
+ X-Runtime:
+ - '0.019134'
+ X-Cloud-Trace-Context:
+ - 202ae565c50b43798fc2ab188e7ad5ac;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a6466c4ba670dc-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"errors":{"name":["can''t be blank","is too short (minimum is 2 characters)"]}}'
+ recorded_at: Thu, 06 Nov 2025 17:22:48 GMT
+recorded_with: VCR 6.2.0
diff --git a/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_create/with_hash_request/maps_response_data_to_Project_object.yml b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_create/with_hash_request/maps_response_data_to_Project_object.yml
new file mode 100644
index 0000000..cc8704f
--- /dev/null
+++ b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_create/with_hash_request/maps_response_data_to_Project_object.yml
@@ -0,0 +1,168 @@
+---
+http_interactions:
+- request:
+ method: post
+ uri: https://mailtrap.io/api/accounts/1111111/projects
+ body:
+ encoding: UTF-8
+ string: '{"project":{"name":"New Project"}}'
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:48 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '143'
+ Etag:
+ - W/"555c37419991b9243a4ee4a8199dde11"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-zgTYA5BLd1wyNN7mPfj6ZA==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - cc4b30b1-8d31-471c-a233-b0c29a13bbc7
+ X-Runtime:
+ - '0.203603'
+ X-Cloud-Trace-Context:
+ - 11447d3d125e4f9187fcfeb1d48a0525;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a64669fd1be5d6-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"id":2568507,"name":"New Project","share_links":{"admin":"https://mailtrap.io/projects/2568507/share/REDACTED","viewer":"https://mailtrap.io/projects/2568507/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}'
+ recorded_at: Thu, 06 Nov 2025 17:22:48 GMT
+recorded_with: VCR 6.2.0
diff --git a/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_delete/returns_deleted_project_id.yml b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_delete/returns_deleted_project_id.yml
new file mode 100644
index 0000000..0420296
--- /dev/null
+++ b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_delete/returns_deleted_project_id.yml
@@ -0,0 +1,333 @@
+---
+http_interactions:
+- request:
+ method: post
+ uri: https://mailtrap.io/api/accounts/1111111/projects
+ body:
+ encoding: UTF-8
+ string: '{"project":{"name":"Project to Delete"}}'
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:50 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '147'
+ Etag:
+ - W/"042f85c44df5dda84dd0a212a8a84067"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-l12T453K35WyYwM58IB4Hg==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - 974beb3a-da90-4154-82de-cbaa03b9eecf
+ X-Runtime:
+ - '0.072132'
+ X-Cloud-Trace-Context:
+ - e1b497c7012c49a88f7c34a4285079aa;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a646799b97b813-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"id":2568512,"name":"Project to Delete","share_links":{"admin":"https://mailtrap.io/projects/2568512/share/REDACTED","viewer":"https://mailtrap.io/projects/2568512/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}'
+ recorded_at: Thu, 06 Nov 2025 17:22:50 GMT
+- request:
+ method: delete
+ uri: https://mailtrap.io/api/accounts/1111111/projects/2568512
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:50 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '146'
+ Etag:
+ - W/"268931c8d55249081f5793b71c967b16"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-zNr/z6EA5p0ny51tN7ID4g==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - 8523fef5-9a69-43fe-a889-f3134b03ca73
+ X-Runtime:
+ - '0.082012'
+ X-Cloud-Trace-Context:
+ - 29e3d8994f6b4a79831a029a0bf2af97;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a6467b1875bc36-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"id":2568512}'
+ recorded_at: Thu, 06 Nov 2025 17:22:50 GMT
+recorded_with: VCR 6.2.0
diff --git a/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_delete/when_project_does_not_exist/raises_not_found_error.yml b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_delete/when_project_does_not_exist/raises_not_found_error.yml
new file mode 100644
index 0000000..c530d0c
--- /dev/null
+++ b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_delete/when_project_does_not_exist/raises_not_found_error.yml
@@ -0,0 +1,331 @@
+---
+http_interactions:
+- request:
+ method: post
+ uri: https://mailtrap.io/api/accounts/1111111/projects
+ body:
+ encoding: UTF-8
+ string: '{"project":{"name":"Project to Delete"}}'
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:51 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '145'
+ Etag:
+ - W/"0e4606bbbb28136031c4cdbe1950f3b9"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-vW9aAU73C+i0C8E1tR0Y3g==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - 77b3b743-68f1-49d6-9870-c317f392dd1b
+ X-Runtime:
+ - '0.080663'
+ X-Cloud-Trace-Context:
+ - d809888ce0ce4000c29024f512e7e29f;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a6467cbc9ac3b5-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"id":2568513,"name":"Project to Delete","share_links":{"admin":"https://mailtrap.io/projects/2568513/share/REDACTED","viewer":"https://mailtrap.io/projects/2568513/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}'
+ recorded_at: Thu, 06 Nov 2025 17:22:51 GMT
+- request:
+ method: delete
+ uri: https://mailtrap.io/api/accounts/1111111/projects/999999
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 404
+ message: Not Found
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:51 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '144'
+ Cache-Control:
+ - no-cache
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-j3/wbJxonzcYbjFu5E0zqQ==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - 21ff0366-922d-4fb0-be4a-f9044f36fe14
+ X-Runtime:
+ - '0.011877'
+ X-Cloud-Trace-Context:
+ - 74a6838b91ab47e88a4d153953752848;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a6467e4bea25bc-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"error":"Not Found"}'
+ recorded_at: Thu, 06 Nov 2025 17:22:51 GMT
+recorded_with: VCR 6.2.0
diff --git a/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_get/maps_response_data_to_Project_object.yml b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_get/maps_response_data_to_Project_object.yml
new file mode 100644
index 0000000..3b3146c
--- /dev/null
+++ b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_get/maps_response_data_to_Project_object.yml
@@ -0,0 +1,333 @@
+---
+http_interactions:
+- request:
+ method: post
+ uri: https://mailtrap.io/api/accounts/1111111/projects
+ body:
+ encoding: UTF-8
+ string: '{"project":{"name":"Test Project"}}'
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:46 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '148'
+ Etag:
+ - W/"5469edc88d85d2b4ea681a9801afc03b"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-9EEV+EEOdBwB2SWsPrLmEw==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - 862dbc97-ad2d-4cdf-96b0-92578f2327f1
+ X-Runtime:
+ - '0.087015'
+ X-Cloud-Trace-Context:
+ - d664adbe9c0a4511824b9953ffbfadca;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a6465be8e0147a-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"id":2568504,"name":"Test Project","share_links":{"admin":"https://mailtrap.io/projects/2568504/share/REDACTED","viewer":"https://mailtrap.io/projects/2568504/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}'
+ recorded_at: Thu, 06 Nov 2025 17:22:46 GMT
+- request:
+ method: get
+ uri: https://mailtrap.io/api/accounts/1111111/projects/2568504
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:46 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '147'
+ Etag:
+ - W/"5469edc88d85d2b4ea681a9801afc03b"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-Zb6a7UXxs3Y0y11EKM04nA==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - 5bea4011-bd02-4643-b3e0-05a76ae4e060
+ X-Runtime:
+ - '0.080132'
+ X-Cloud-Trace-Context:
+ - 725463e030b745ae87bdb7f989ba78a1;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a6465f9e7fad22-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"id":2568504,"name":"Test Project","share_links":{"admin":"https://mailtrap.io/projects/2568504/share/REDACTED","viewer":"https://mailtrap.io/projects/2568504/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}'
+ recorded_at: Thu, 06 Nov 2025 17:22:46 GMT
+recorded_with: VCR 6.2.0
diff --git a/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_get/when_project_does_not_exist/raises_not_found_error.yml b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_get/when_project_does_not_exist/raises_not_found_error.yml
new file mode 100644
index 0000000..eefc9b8
--- /dev/null
+++ b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_get/when_project_does_not_exist/raises_not_found_error.yml
@@ -0,0 +1,331 @@
+---
+http_interactions:
+- request:
+ method: post
+ uri: https://mailtrap.io/api/accounts/1111111/projects
+ body:
+ encoding: UTF-8
+ string: '{"project":{"name":"Test Project"}}'
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:47 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '146'
+ Etag:
+ - W/"7ffa4657748461ef12280122fe6a8858"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-VX2Dcy0hW9sA6H2LBbCvDQ==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - 02d2f921-3856-4037-9a87-062e0b4d54f5
+ X-Runtime:
+ - '0.081251'
+ X-Cloud-Trace-Context:
+ - 37ed80ca4c4145808aa554b32a4374d7;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a6466338b2bf47-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"id":2568505,"name":"Test Project","share_links":{"admin":"https://mailtrap.io/projects/2568505/share/REDACTED","viewer":"https://mailtrap.io/projects/2568505/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}'
+ recorded_at: Thu, 06 Nov 2025 17:22:47 GMT
+- request:
+ method: get
+ uri: https://mailtrap.io/api/accounts/1111111/projects/999999
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 404
+ message: Not Found
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:47 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '145'
+ Cache-Control:
+ - no-cache
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-C/GUQkCCApVLg4vBe/aSXg==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - d0e27b3b-02a4-49bf-8664-a96dd7399e61
+ X-Runtime:
+ - '0.027993'
+ X-Cloud-Trace-Context:
+ - 9209d38c155f4fbbcdf8d0345c9054ab;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a646670987b617-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"error":"Not Found"}'
+ recorded_at: Thu, 06 Nov 2025 17:22:47 GMT
+recorded_with: VCR 6.2.0
diff --git a/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_list/maps_response_data_to_Project_objects.yml b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_list/maps_response_data_to_Project_objects.yml
new file mode 100644
index 0000000..972efab
--- /dev/null
+++ b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_list/maps_response_data_to_Project_objects.yml
@@ -0,0 +1,399 @@
+---
+http_interactions:
+- request:
+ method: get
+ uri: https://mailtrap.io/api/accounts/1111111/projects
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:45 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ Vary:
+ - Accept
+ - Accept-Encoding
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '149'
+ Etag:
+ - W/"511f796eca774728d0caee471d0bfeca"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-yqOvR9fkHTyOgVirCQPdlQ==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - dac95271-42b5-4cff-8369-d8990d6789a5
+ X-Runtime:
+ - '4.772312'
+ X-Cloud-Trace-Context:
+ - bc572ddec18744b4c2949b74b55703fb;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a6463688497a60-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '[{"id":1536451,"name":"My Project","share_links":{"admin":"https://mailtrap.io/projects/1536451/share/REDACTED","viewer":"https://mailtrap.io/projects/1536451/share/REDACTED"},"inboxes":[{"id":2117479,"name":"My
+ Inbox","username":"8382a82526761f","status":"active","email_username":"730e82205d-7e378a","email_username_enabled":true,"sent_messages_count":0,"forwarded_messages_count":0,"used":true,"forward_from_email_address":"aACCOUNT_ID-i2117479@forward.mailtrap.info","project_id":1536451,"password":"952106364e8818","domain":"sandbox.smtp.mailtrap.io","pop3_domain":"pop3.mailtrap.io","email_domain":"inbox.mailtrap.io","smtp_ports":[25,465,587,2525],"pop3_ports":[1100,9950],"api_domain":"sandbox.api.mailtrap.io","emails_count":87,"emails_unread_count":0,"last_message_sent_at":"2025-01-03T16:37:44.583Z","max_size":1000,"max_message_size":26214400,"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2598195,"name":"New
+ Inbox 3","username":"488ab40656a0ac","status":"active","email_username":"new-inbox-3-b9d2b9","email_username_enabled":true,"sent_messages_count":0,"forwarded_messages_count":0,"used":true,"forward_from_email_address":"aACCOUNT_ID-i2598195@forward.mailtrap.info","project_id":1536451,"password":"54b965b17b46a9","domain":"sandbox.smtp.mailtrap.io","pop3_domain":"pop3.mailtrap.io","email_domain":"inbox.mailtrap.io","smtp_ports":[25,465,587,2525],"pop3_ports":[1100,9950],"api_domain":"sandbox.api.mailtrap.io","emails_count":2,"emails_unread_count":0,"last_message_sent_at":"2024-03-30T18:02:12.295Z","max_size":1000,"max_message_size":26214400,"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":1886601,"name":"Freelance
+ per dev","share_links":{"admin":"https://mailtrap.io/projects/1886601/share/REDACTED","viewer":"https://mailtrap.io/projects/1886601/share/REDACTED"},"inboxes":[{"id":2639689,"name":"#php-developer-artur-edamov","username":"0e1b2edd08898d","status":"active","email_username":"10e854d304-cd6a55","email_username_enabled":true,"sent_messages_count":0,"forwarded_messages_count":0,"used":true,"forward_from_email_address":"aACCOUNT_ID-i2639689@forward.mailtrap.info","project_id":1886601,"password":"0dc2143d3c4bcf","domain":"sandbox.smtp.mailtrap.io","pop3_domain":"pop3.mailtrap.io","email_domain":"inbox.mailtrap.io","smtp_ports":[25,465,587,2525],"pop3_ports":[1100,9950],"api_domain":"sandbox.api.mailtrap.io","emails_count":2,"emails_unread_count":0,"last_message_sent_at":"2024-05-09T21:21:24.000Z","max_size":1000,"max_message_size":26214400,"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2750032,"name":"IT-248","username":"0a5db6d04b5567","status":"active","email_username":"c7884b9b27-2a5e4e","email_username_enabled":true,"sent_messages_count":0,"forwarded_messages_count":0,"used":true,"forward_from_email_address":"aACCOUNT_ID-i2750032@forward.mailtrap.info","project_id":1886601,"password":"3f75964c517555","domain":"sandbox.smtp.mailtrap.io","pop3_domain":"pop3.mailtrap.io","email_domain":"inbox.mailtrap.io","smtp_ports":[25,465,587,2525],"pop3_ports":[1100,9950],"api_domain":"sandbox.api.mailtrap.io","emails_count":10,"emails_unread_count":10,"last_message_sent_at":"2024-06-01T22:57:16.000Z","max_size":1000,"max_message_size":26214400,"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2803763,"name":"IT-316:
+ narhovhannisian@gmail.com","username":"273a280aadeb6e","status":"active","email_username":"9070d30c7d-6b8878","email_username_enabled":true,"sent_messages_count":0,"forwarded_messages_count":0,"used":false,"forward_from_email_address":"aACCOUNT_ID-i2803763@forward.mailtrap.info","project_id":1886601,"password":"b189dfc9c353c6","domain":"sandbox.smtp.mailtrap.io","pop3_domain":"pop3.mailtrap.io","email_domain":"inbox.mailtrap.io","smtp_ports":[25,465,587,2525],"pop3_ports":[1100,9950],"api_domain":"sandbox.api.mailtrap.io","emails_count":0,"emails_unread_count":0,"last_message_sent_at":null,"max_size":1000,"max_message_size":26214400,"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2827176,"name":"IT-348:
+ reg+g@leadnode.io","username":"546e95d8659e0d","status":"active","email_username":"4bb7078012-4952de","email_username_enabled":true,"sent_messages_count":0,"forwarded_messages_count":0,"used":true,"forward_from_email_address":"aACCOUNT_ID-i2827176@forward.mailtrap.info","project_id":1886601,"password":"00354751350f03","domain":"sandbox.smtp.mailtrap.io","pop3_domain":"pop3.mailtrap.io","email_domain":"inbox.mailtrap.io","smtp_ports":[25,465,587,2525],"pop3_ports":[1100,9950],"api_domain":"sandbox.api.mailtrap.io","emails_count":3,"emails_unread_count":3,"last_message_sent_at":"2024-05-24T09:01:52.000Z","max_size":1000,"max_message_size":26214400,"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2869179,"name":"IT-395:
+ anasahmed92@live.com","username":"938e4fb7050cdb","status":"active","email_username":"d9af24a335-93cda8","email_username_enabled":true,"sent_messages_count":0,"forwarded_messages_count":0,"used":true,"forward_from_email_address":"aACCOUNT_ID-i2869179@forward.mailtrap.info","project_id":1886601,"password":"81e45511a3bc0e","domain":"sandbox.smtp.mailtrap.io","pop3_domain":"pop3.mailtrap.io","email_domain":"inbox.mailtrap.io","smtp_ports":[25,465,587,2525],"pop3_ports":[1100,9950],"api_domain":"sandbox.api.mailtrap.io","emails_count":44,"emails_unread_count":44,"last_message_sent_at":"2025-02-13T13:36:02.000Z","max_size":1000,"max_message_size":26214400,"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":3244543,"name":"IT-973:
+ zhaparoff@gmail.com","username":"aac75b0883e5df","status":"active","email_username":"2934fc539d-461ce5","email_username_enabled":true,"sent_messages_count":0,"forwarded_messages_count":0,"used":false,"forward_from_email_address":"aACCOUNT_ID-i3244543@forward.mailtrap.info","project_id":1886601,"password":"67cbfb43dfad94","domain":"sandbox.smtp.mailtrap.io","pop3_domain":"pop3.mailtrap.io","email_domain":"inbox.mailtrap.io","smtp_ports":[25,465,587,2525],"pop3_ports":[1100,9950],"api_domain":"sandbox.api.mailtrap.io","emails_count":0,"emails_unread_count":0,"last_message_sent_at":null,"max_size":1000,"max_message_size":26214400,"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":3447218,"name":"#freelance-dev-oleksandr-bukhtiiarov","username":"82eda9bf7c1b3b","status":"active","email_username":"d3b391d162-05b895","email_username_enabled":true,"sent_messages_count":0,"forwarded_messages_count":0,"used":false,"forward_from_email_address":"aACCOUNT_ID-i3447218@forward.mailtrap.info","project_id":1886601,"password":"0bf7ff67b64d93","domain":"sandbox.smtp.mailtrap.io","pop3_domain":"pop3.mailtrap.io","email_domain":"inbox.mailtrap.io","smtp_ports":[25,465,587,2525],"pop3_ports":[1100,9950],"api_domain":"sandbox.api.mailtrap.io","emails_count":0,"emails_unread_count":0,"last_message_sent_at":null,"max_size":1000,"max_message_size":26214400,"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":3447223,"name":"#ext-js-developer-artem-litvinenko","username":"5f144f668d427e","status":"active","email_username":"cc57d3ca6e-292fc7","email_username_enabled":true,"sent_messages_count":8,"forwarded_messages_count":0,"used":true,"forward_from_email_address":"aACCOUNT_ID-i3447223@forward.mailtrap.info","project_id":1886601,"password":"c689b190526d93","domain":"sandbox.smtp.mailtrap.io","pop3_domain":"pop3.mailtrap.io","email_domain":"inbox.mailtrap.io","smtp_ports":[25,465,587,2525],"pop3_ports":[1100,9950],"api_domain":"sandbox.api.mailtrap.io","emails_count":325,"emails_unread_count":152,"last_message_sent_at":"2025-11-04T11:36:49.000Z","max_size":1000,"max_message_size":26214400,"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":3950294,"name":"IT-1923:
+ #mailtrap-developer-python-sdk","username":"2676e8f48d8a61","status":"active","email_username":"1e364e09c1-0a1010","email_username_enabled":true,"sent_messages_count":0,"forwarded_messages_count":0,"used":false,"forward_from_email_address":"aACCOUNT_ID-i3950294@forward.mailtrap.info","project_id":1886601,"password":"ab43c934ea1b23","domain":"sandbox.smtp.mailtrap.io","pop3_domain":"pop3.mailtrap.io","email_domain":"inbox.mailtrap.io","smtp_ports":[25,465,587,2525],"pop3_ports":[1100,9950],"api_domain":"sandbox.api.mailtrap.io","emails_count":0,"emails_unread_count":0,"last_message_sent_at":null,"max_size":1000,"max_message_size":26214400,"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":3960195,"name":"IT-1834: jurgen.smirnoff@gmail.com","username":"9fa00a713daaab","status":"active","email_username":"b3ce3a93a7-5cb603","email_username_enabled":true,"sent_messages_count":0,"forwarded_messages_count":0,"used":false,"forward_from_email_address":"aACCOUNT_ID-i3960195@forward.mailtrap.info","project_id":1886601,"password":"eefcda4580d160","domain":"sandbox.smtp.mailtrap.io","pop3_domain":"pop3.mailtrap.io","email_domain":"inbox.mailtrap.io","smtp_ports":[25,465,587,2525],"pop3_ports":[1100,9950],"api_domain":"sandbox.api.mailtrap.io","emails_count":0,"emails_unread_count":0,"last_message_sent_at":null,"max_size":1000,"max_message_size":26214400,"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486140,"name":"project
+ 591","share_links":{"admin":"https://mailtrap.io/projects/2486140/share/REDACTED","viewer":"https://mailtrap.io/projects/2486140/share/REDACTED"},"inboxes":[{"id":3976586,"name":"IT-1834:
+ jurgen.smirnoff@gmail.com#2","username":"4579ee19f8f87c","status":"active","email_username":"f70278ba14-d95f55","email_username_enabled":true,"sent_messages_count":0,"forwarded_messages_count":0,"used":false,"forward_from_email_address":"aACCOUNT_ID-i3976586@forward.mailtrap.info","project_id":2486140,"password":"29d2dbb1964565","domain":"sandbox.smtp.mailtrap.io","pop3_domain":"pop3.mailtrap.io","email_domain":"inbox.mailtrap.io","smtp_ports":[25,465,587,2525],"pop3_ports":[1100,9950],"api_domain":"sandbox.api.mailtrap.io","emails_count":0,"emails_unread_count":0,"last_message_sent_at":null,"max_size":1000,"max_message_size":26214400,"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486206,"name":"new
+ project","share_links":{"admin":"https://mailtrap.io/projects/2486206/share/REDACTED","viewer":"https://mailtrap.io/projects/2486206/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486689,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486689/share/REDACTED","viewer":"https://mailtrap.io/projects/2486689/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486690,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486690/share/REDACTED","viewer":"https://mailtrap.io/projects/2486690/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486691,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486691/share/REDACTED","viewer":"https://mailtrap.io/projects/2486691/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486692,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486692/share/REDACTED","viewer":"https://mailtrap.io/projects/2486692/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486693,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486693/share/REDACTED","viewer":"https://mailtrap.io/projects/2486693/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486694,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486694/share/REDACTED","viewer":"https://mailtrap.io/projects/2486694/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486695,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486695/share/REDACTED","viewer":"https://mailtrap.io/projects/2486695/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486696,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486696/share/REDACTED","viewer":"https://mailtrap.io/projects/2486696/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486698,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486698/share/REDACTED","viewer":"https://mailtrap.io/projects/2486698/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486703,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486703/share/REDACTED","viewer":"https://mailtrap.io/projects/2486703/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486704,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486704/share/REDACTED","viewer":"https://mailtrap.io/projects/2486704/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486705,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486705/share/REDACTED","viewer":"https://mailtrap.io/projects/2486705/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486706,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486706/share/REDACTED","viewer":"https://mailtrap.io/projects/2486706/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486707,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486707/share/REDACTED","viewer":"https://mailtrap.io/projects/2486707/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486708,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486708/share/REDACTED","viewer":"https://mailtrap.io/projects/2486708/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486709,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486709/share/REDACTED","viewer":"https://mailtrap.io/projects/2486709/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486710,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486710/share/REDACTED","viewer":"https://mailtrap.io/projects/2486710/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486712,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486712/share/REDACTED","viewer":"https://mailtrap.io/projects/2486712/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486719,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486719/share/REDACTED","viewer":"https://mailtrap.io/projects/2486719/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486720,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486720/share/REDACTED","viewer":"https://mailtrap.io/projects/2486720/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486721,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486721/share/REDACTED","viewer":"https://mailtrap.io/projects/2486721/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486722,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486722/share/REDACTED","viewer":"https://mailtrap.io/projects/2486722/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486723,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486723/share/REDACTED","viewer":"https://mailtrap.io/projects/2486723/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486724,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486724/share/REDACTED","viewer":"https://mailtrap.io/projects/2486724/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486725,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486725/share/REDACTED","viewer":"https://mailtrap.io/projects/2486725/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486726,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486726/share/REDACTED","viewer":"https://mailtrap.io/projects/2486726/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486728,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486728/share/REDACTED","viewer":"https://mailtrap.io/projects/2486728/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486731,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486731/share/REDACTED","viewer":"https://mailtrap.io/projects/2486731/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486732,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486732/share/REDACTED","viewer":"https://mailtrap.io/projects/2486732/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486733,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486733/share/REDACTED","viewer":"https://mailtrap.io/projects/2486733/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486734,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486734/share/REDACTED","viewer":"https://mailtrap.io/projects/2486734/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486735,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486735/share/REDACTED","viewer":"https://mailtrap.io/projects/2486735/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486736,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486736/share/REDACTED","viewer":"https://mailtrap.io/projects/2486736/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486737,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486737/share/REDACTED","viewer":"https://mailtrap.io/projects/2486737/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486738,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486738/share/REDACTED","viewer":"https://mailtrap.io/projects/2486738/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486740,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486740/share/REDACTED","viewer":"https://mailtrap.io/projects/2486740/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486741,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486741/share/REDACTED","viewer":"https://mailtrap.io/projects/2486741/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486742,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486742/share/REDACTED","viewer":"https://mailtrap.io/projects/2486742/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486743,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486743/share/REDACTED","viewer":"https://mailtrap.io/projects/2486743/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486744,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486744/share/REDACTED","viewer":"https://mailtrap.io/projects/2486744/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486745,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486745/share/REDACTED","viewer":"https://mailtrap.io/projects/2486745/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486746,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486746/share/REDACTED","viewer":"https://mailtrap.io/projects/2486746/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486747,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486747/share/REDACTED","viewer":"https://mailtrap.io/projects/2486747/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486748,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486748/share/REDACTED","viewer":"https://mailtrap.io/projects/2486748/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486750,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486750/share/REDACTED","viewer":"https://mailtrap.io/projects/2486750/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486752,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486752/share/REDACTED","viewer":"https://mailtrap.io/projects/2486752/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486753,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486753/share/REDACTED","viewer":"https://mailtrap.io/projects/2486753/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486754,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486754/share/REDACTED","viewer":"https://mailtrap.io/projects/2486754/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486755,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486755/share/REDACTED","viewer":"https://mailtrap.io/projects/2486755/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486756,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486756/share/REDACTED","viewer":"https://mailtrap.io/projects/2486756/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486757,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486757/share/REDACTED","viewer":"https://mailtrap.io/projects/2486757/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486758,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486758/share/REDACTED","viewer":"https://mailtrap.io/projects/2486758/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486759,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486759/share/REDACTED","viewer":"https://mailtrap.io/projects/2486759/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486761,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486761/share/REDACTED","viewer":"https://mailtrap.io/projects/2486761/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486762,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486762/share/REDACTED","viewer":"https://mailtrap.io/projects/2486762/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486763,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486763/share/REDACTED","viewer":"https://mailtrap.io/projects/2486763/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486764,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486764/share/REDACTED","viewer":"https://mailtrap.io/projects/2486764/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486765,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486765/share/REDACTED","viewer":"https://mailtrap.io/projects/2486765/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486766,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486766/share/REDACTED","viewer":"https://mailtrap.io/projects/2486766/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486767,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486767/share/REDACTED","viewer":"https://mailtrap.io/projects/2486767/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486768,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486768/share/REDACTED","viewer":"https://mailtrap.io/projects/2486768/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486769,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486769/share/REDACTED","viewer":"https://mailtrap.io/projects/2486769/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486771,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486771/share/REDACTED","viewer":"https://mailtrap.io/projects/2486771/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486774,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486774/share/REDACTED","viewer":"https://mailtrap.io/projects/2486774/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486775,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486775/share/REDACTED","viewer":"https://mailtrap.io/projects/2486775/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486776,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486776/share/REDACTED","viewer":"https://mailtrap.io/projects/2486776/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486777,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486777/share/REDACTED","viewer":"https://mailtrap.io/projects/2486777/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486778,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486778/share/REDACTED","viewer":"https://mailtrap.io/projects/2486778/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486779,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486779/share/REDACTED","viewer":"https://mailtrap.io/projects/2486779/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486780,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486780/share/REDACTED","viewer":"https://mailtrap.io/projects/2486780/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486781,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486781/share/REDACTED","viewer":"https://mailtrap.io/projects/2486781/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486783,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486783/share/REDACTED","viewer":"https://mailtrap.io/projects/2486783/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486824,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486824/share/REDACTED","viewer":"https://mailtrap.io/projects/2486824/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486825,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486825/share/REDACTED","viewer":"https://mailtrap.io/projects/2486825/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486826,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486826/share/REDACTED","viewer":"https://mailtrap.io/projects/2486826/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486827,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486827/share/REDACTED","viewer":"https://mailtrap.io/projects/2486827/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486828,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486828/share/REDACTED","viewer":"https://mailtrap.io/projects/2486828/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486829,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486829/share/REDACTED","viewer":"https://mailtrap.io/projects/2486829/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486830,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486830/share/REDACTED","viewer":"https://mailtrap.io/projects/2486830/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486831,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486831/share/REDACTED","viewer":"https://mailtrap.io/projects/2486831/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486833,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486833/share/REDACTED","viewer":"https://mailtrap.io/projects/2486833/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486834,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486834/share/REDACTED","viewer":"https://mailtrap.io/projects/2486834/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486835,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486835/share/REDACTED","viewer":"https://mailtrap.io/projects/2486835/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486836,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486836/share/REDACTED","viewer":"https://mailtrap.io/projects/2486836/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486837,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486837/share/REDACTED","viewer":"https://mailtrap.io/projects/2486837/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486838,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486838/share/REDACTED","viewer":"https://mailtrap.io/projects/2486838/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486839,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486839/share/REDACTED","viewer":"https://mailtrap.io/projects/2486839/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486840,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486840/share/REDACTED","viewer":"https://mailtrap.io/projects/2486840/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486841,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486841/share/REDACTED","viewer":"https://mailtrap.io/projects/2486841/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486843,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486843/share/REDACTED","viewer":"https://mailtrap.io/projects/2486843/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486844,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486844/share/REDACTED","viewer":"https://mailtrap.io/projects/2486844/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486845,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486845/share/REDACTED","viewer":"https://mailtrap.io/projects/2486845/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486846,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486846/share/REDACTED","viewer":"https://mailtrap.io/projects/2486846/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486847,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486847/share/REDACTED","viewer":"https://mailtrap.io/projects/2486847/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486848,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486848/share/REDACTED","viewer":"https://mailtrap.io/projects/2486848/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486849,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486849/share/REDACTED","viewer":"https://mailtrap.io/projects/2486849/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486850,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486850/share/REDACTED","viewer":"https://mailtrap.io/projects/2486850/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486851,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486851/share/REDACTED","viewer":"https://mailtrap.io/projects/2486851/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486854,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486854/share/REDACTED","viewer":"https://mailtrap.io/projects/2486854/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486856,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486856/share/REDACTED","viewer":"https://mailtrap.io/projects/2486856/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486857,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486857/share/REDACTED","viewer":"https://mailtrap.io/projects/2486857/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486858,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486858/share/REDACTED","viewer":"https://mailtrap.io/projects/2486858/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486859,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486859/share/REDACTED","viewer":"https://mailtrap.io/projects/2486859/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486860,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486860/share/REDACTED","viewer":"https://mailtrap.io/projects/2486860/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486861,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486861/share/REDACTED","viewer":"https://mailtrap.io/projects/2486861/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486862,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486862/share/REDACTED","viewer":"https://mailtrap.io/projects/2486862/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486863,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486863/share/REDACTED","viewer":"https://mailtrap.io/projects/2486863/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486865,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486865/share/REDACTED","viewer":"https://mailtrap.io/projects/2486865/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486866,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486866/share/REDACTED","viewer":"https://mailtrap.io/projects/2486866/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486867,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486867/share/REDACTED","viewer":"https://mailtrap.io/projects/2486867/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486868,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486868/share/REDACTED","viewer":"https://mailtrap.io/projects/2486868/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486869,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486869/share/REDACTED","viewer":"https://mailtrap.io/projects/2486869/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486870,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486870/share/REDACTED","viewer":"https://mailtrap.io/projects/2486870/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486871,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486871/share/REDACTED","viewer":"https://mailtrap.io/projects/2486871/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486872,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486872/share/REDACTED","viewer":"https://mailtrap.io/projects/2486872/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486873,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486873/share/REDACTED","viewer":"https://mailtrap.io/projects/2486873/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486875,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486875/share/REDACTED","viewer":"https://mailtrap.io/projects/2486875/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486881,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486881/share/REDACTED","viewer":"https://mailtrap.io/projects/2486881/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486882,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486882/share/REDACTED","viewer":"https://mailtrap.io/projects/2486882/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486883,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486883/share/REDACTED","viewer":"https://mailtrap.io/projects/2486883/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486884,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486884/share/REDACTED","viewer":"https://mailtrap.io/projects/2486884/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486885,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486885/share/REDACTED","viewer":"https://mailtrap.io/projects/2486885/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486886,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486886/share/REDACTED","viewer":"https://mailtrap.io/projects/2486886/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486887,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486887/share/REDACTED","viewer":"https://mailtrap.io/projects/2486887/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486888,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486888/share/REDACTED","viewer":"https://mailtrap.io/projects/2486888/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486890,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486890/share/REDACTED","viewer":"https://mailtrap.io/projects/2486890/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486893,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486893/share/REDACTED","viewer":"https://mailtrap.io/projects/2486893/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486894,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486894/share/REDACTED","viewer":"https://mailtrap.io/projects/2486894/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486895,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486895/share/REDACTED","viewer":"https://mailtrap.io/projects/2486895/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486896,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486896/share/REDACTED","viewer":"https://mailtrap.io/projects/2486896/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486897,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486897/share/REDACTED","viewer":"https://mailtrap.io/projects/2486897/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486898,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486898/share/REDACTED","viewer":"https://mailtrap.io/projects/2486898/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486899,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486899/share/REDACTED","viewer":"https://mailtrap.io/projects/2486899/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486900,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486900/share/REDACTED","viewer":"https://mailtrap.io/projects/2486900/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486902,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486902/share/REDACTED","viewer":"https://mailtrap.io/projects/2486902/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486904,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486904/share/REDACTED","viewer":"https://mailtrap.io/projects/2486904/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486905,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486905/share/REDACTED","viewer":"https://mailtrap.io/projects/2486905/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486906,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486906/share/REDACTED","viewer":"https://mailtrap.io/projects/2486906/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486907,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486907/share/REDACTED","viewer":"https://mailtrap.io/projects/2486907/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486908,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486908/share/REDACTED","viewer":"https://mailtrap.io/projects/2486908/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486909,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486909/share/REDACTED","viewer":"https://mailtrap.io/projects/2486909/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486910,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486910/share/REDACTED","viewer":"https://mailtrap.io/projects/2486910/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486912,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486912/share/REDACTED","viewer":"https://mailtrap.io/projects/2486912/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486914,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486914/share/REDACTED","viewer":"https://mailtrap.io/projects/2486914/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486918,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486918/share/REDACTED","viewer":"https://mailtrap.io/projects/2486918/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486919,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486919/share/REDACTED","viewer":"https://mailtrap.io/projects/2486919/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486920,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486920/share/REDACTED","viewer":"https://mailtrap.io/projects/2486920/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486921,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486921/share/REDACTED","viewer":"https://mailtrap.io/projects/2486921/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486922,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486922/share/REDACTED","viewer":"https://mailtrap.io/projects/2486922/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486923,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486923/share/REDACTED","viewer":"https://mailtrap.io/projects/2486923/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486924,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486924/share/REDACTED","viewer":"https://mailtrap.io/projects/2486924/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486925,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486925/share/REDACTED","viewer":"https://mailtrap.io/projects/2486925/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486927,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486927/share/REDACTED","viewer":"https://mailtrap.io/projects/2486927/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486928,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486928/share/REDACTED","viewer":"https://mailtrap.io/projects/2486928/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486929,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486929/share/REDACTED","viewer":"https://mailtrap.io/projects/2486929/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486930,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486930/share/REDACTED","viewer":"https://mailtrap.io/projects/2486930/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486931,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486931/share/REDACTED","viewer":"https://mailtrap.io/projects/2486931/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486932,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486932/share/REDACTED","viewer":"https://mailtrap.io/projects/2486932/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486933,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486933/share/REDACTED","viewer":"https://mailtrap.io/projects/2486933/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486934,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486934/share/REDACTED","viewer":"https://mailtrap.io/projects/2486934/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486935,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486935/share/REDACTED","viewer":"https://mailtrap.io/projects/2486935/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486938,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486938/share/REDACTED","viewer":"https://mailtrap.io/projects/2486938/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486941,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486941/share/REDACTED","viewer":"https://mailtrap.io/projects/2486941/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486942,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486942/share/REDACTED","viewer":"https://mailtrap.io/projects/2486942/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486943,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486943/share/REDACTED","viewer":"https://mailtrap.io/projects/2486943/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486944,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486944/share/REDACTED","viewer":"https://mailtrap.io/projects/2486944/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486945,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486945/share/REDACTED","viewer":"https://mailtrap.io/projects/2486945/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486946,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486946/share/REDACTED","viewer":"https://mailtrap.io/projects/2486946/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486947,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486947/share/REDACTED","viewer":"https://mailtrap.io/projects/2486947/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486948,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486948/share/REDACTED","viewer":"https://mailtrap.io/projects/2486948/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486950,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486950/share/REDACTED","viewer":"https://mailtrap.io/projects/2486950/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486954,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486954/share/REDACTED","viewer":"https://mailtrap.io/projects/2486954/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486955,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486955/share/REDACTED","viewer":"https://mailtrap.io/projects/2486955/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486956,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486956/share/REDACTED","viewer":"https://mailtrap.io/projects/2486956/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486957,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486957/share/REDACTED","viewer":"https://mailtrap.io/projects/2486957/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486958,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486958/share/REDACTED","viewer":"https://mailtrap.io/projects/2486958/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486959,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486959/share/REDACTED","viewer":"https://mailtrap.io/projects/2486959/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486960,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486960/share/REDACTED","viewer":"https://mailtrap.io/projects/2486960/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486961,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486961/share/REDACTED","viewer":"https://mailtrap.io/projects/2486961/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486963,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486963/share/REDACTED","viewer":"https://mailtrap.io/projects/2486963/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486965,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486965/share/REDACTED","viewer":"https://mailtrap.io/projects/2486965/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486966,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486966/share/REDACTED","viewer":"https://mailtrap.io/projects/2486966/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486967,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486967/share/REDACTED","viewer":"https://mailtrap.io/projects/2486967/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486968,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486968/share/REDACTED","viewer":"https://mailtrap.io/projects/2486968/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486969,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486969/share/REDACTED","viewer":"https://mailtrap.io/projects/2486969/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486970,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486970/share/REDACTED","viewer":"https://mailtrap.io/projects/2486970/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486971,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486971/share/REDACTED","viewer":"https://mailtrap.io/projects/2486971/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486972,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486972/share/REDACTED","viewer":"https://mailtrap.io/projects/2486972/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486974,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486974/share/REDACTED","viewer":"https://mailtrap.io/projects/2486974/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486978,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486978/share/REDACTED","viewer":"https://mailtrap.io/projects/2486978/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486979,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486979/share/REDACTED","viewer":"https://mailtrap.io/projects/2486979/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486980,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486980/share/REDACTED","viewer":"https://mailtrap.io/projects/2486980/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486981,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486981/share/REDACTED","viewer":"https://mailtrap.io/projects/2486981/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486983,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486983/share/REDACTED","viewer":"https://mailtrap.io/projects/2486983/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486984,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486984/share/REDACTED","viewer":"https://mailtrap.io/projects/2486984/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486985,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2486985/share/REDACTED","viewer":"https://mailtrap.io/projects/2486985/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486986,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486986/share/REDACTED","viewer":"https://mailtrap.io/projects/2486986/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486988,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486988/share/REDACTED","viewer":"https://mailtrap.io/projects/2486988/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486989,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486989/share/REDACTED","viewer":"https://mailtrap.io/projects/2486989/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486990,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486990/share/REDACTED","viewer":"https://mailtrap.io/projects/2486990/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486992,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2486992/share/REDACTED","viewer":"https://mailtrap.io/projects/2486992/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486996,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486996/share/REDACTED","viewer":"https://mailtrap.io/projects/2486996/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486997,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486997/share/REDACTED","viewer":"https://mailtrap.io/projects/2486997/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486998,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486998/share/REDACTED","viewer":"https://mailtrap.io/projects/2486998/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2486999,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2486999/share/REDACTED","viewer":"https://mailtrap.io/projects/2486999/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2487000,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2487000/share/REDACTED","viewer":"https://mailtrap.io/projects/2487000/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2487001,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2487001/share/REDACTED","viewer":"https://mailtrap.io/projects/2487001/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2487002,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2487002/share/REDACTED","viewer":"https://mailtrap.io/projects/2487002/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2487003,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2487003/share/REDACTED","viewer":"https://mailtrap.io/projects/2487003/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2487005,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2487005/share/REDACTED","viewer":"https://mailtrap.io/projects/2487005/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2487010,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2487010/share/REDACTED","viewer":"https://mailtrap.io/projects/2487010/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2487011,"name":"Test
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2487011/share/REDACTED","viewer":"https://mailtrap.io/projects/2487011/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2487012,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2487012/share/REDACTED","viewer":"https://mailtrap.io/projects/2487012/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2487013,"name":"New
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2487013/share/REDACTED","viewer":"https://mailtrap.io/projects/2487013/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2487014,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2487014/share/REDACTED","viewer":"https://mailtrap.io/projects/2487014/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2487015,"name":"Updated
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2487015/share/REDACTED","viewer":"https://mailtrap.io/projects/2487015/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2487016,"name":"New
+ Name Only","share_links":{"admin":"https://mailtrap.io/projects/2487016/share/REDACTED","viewer":"https://mailtrap.io/projects/2487016/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2487017,"name":"Original
+ Project","share_links":{"admin":"https://mailtrap.io/projects/2487017/share/REDACTED","viewer":"https://mailtrap.io/projects/2487017/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}},{"id":2487019,"name":"Project
+ to Delete","share_links":{"admin":"https://mailtrap.io/projects/2487019/share/REDACTED","viewer":"https://mailtrap.io/projects/2487019/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}]'
+ recorded_at: Thu, 06 Nov 2025 17:22:45 GMT
+recorded_with: VCR 6.2.0
diff --git a/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_list/when_api_key_is_incorrect/raises_authorization_error.yml b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_list/when_api_key_is_incorrect/raises_authorization_error.yml
new file mode 100644
index 0000000..e158e38
--- /dev/null
+++ b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_list/when_api_key_is_incorrect/raises_authorization_error.yml
@@ -0,0 +1,168 @@
+---
+http_interactions:
+- request:
+ method: get
+ uri: https://mailtrap.io/api/accounts/1111111/projects
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 401
+ message: Unauthorized
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:45 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Content-Length:
+ - '31'
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Www-Authenticate:
+ - Token realm="Application"
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '149'
+ Cache-Control:
+ - no-cache
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-I/u42/bdH8vv7BfJJkQAtg==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - c915c8f6-0966-401b-a5c7-7b9425e41a1c
+ X-Runtime:
+ - '0.010076'
+ X-Cloud-Trace-Context:
+ - 753aadc0a1104487c20e9ea64a70697e;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a64658cdd8028d-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"error":"Incorrect API token"}'
+ recorded_at: Thu, 06 Nov 2025 17:22:45 GMT
+recorded_with: VCR 6.2.0
diff --git a/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_update/maps_response_data_to_Project_object.yml b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_update/maps_response_data_to_Project_object.yml
new file mode 100644
index 0000000..a2a64a1
--- /dev/null
+++ b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_update/maps_response_data_to_Project_object.yml
@@ -0,0 +1,333 @@
+---
+http_interactions:
+- request:
+ method: post
+ uri: https://mailtrap.io/api/accounts/1111111/projects
+ body:
+ encoding: UTF-8
+ string: '{"project":{"name":"Original Project"}}'
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:48 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '141'
+ Etag:
+ - W/"d566fd0a5d4ea9273bf4996b1cd09b27"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-ewFKuXjturow/pftL470Bw==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - 39406e58-c410-4163-acc1-f60b4fb17bf1
+ X-Runtime:
+ - '0.044394'
+ X-Cloud-Trace-Context:
+ - 81340cc2bcdc42278670e575653ba3f8;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a6466d7c75eec5-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"id":2568508,"name":"Original Project","share_links":{"admin":"https://mailtrap.io/projects/2568508/share/REDACTED","viewer":"https://mailtrap.io/projects/2568508/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}'
+ recorded_at: Thu, 06 Nov 2025 17:22:48 GMT
+- request:
+ method: patch
+ uri: https://mailtrap.io/api/accounts/1111111/projects/2568508
+ body:
+ encoding: UTF-8
+ string: '{"project":{"name":"Updated Project"}}'
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:48 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '140'
+ Etag:
+ - W/"e5d96aea05b630c9b62174918e0948ba"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-q+LaP7j5sxknR6WcnthxMQ==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - 72f3a1d2-ae91-4130-b60d-8fcb0cc92a55
+ X-Runtime:
+ - '0.062113'
+ X-Cloud-Trace-Context:
+ - f82a659ca1b4437cc04a10fa42f9604b;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a6466eda44b576-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"id":2568508,"name":"Updated Project","share_links":{"admin":"https://mailtrap.io/projects/2568508/share/REDACTED","viewer":"https://mailtrap.io/projects/2568508/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}'
+ recorded_at: Thu, 06 Nov 2025 17:22:48 GMT
+recorded_with: VCR 6.2.0
diff --git a/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_update/when_project_does_not_exist/raises_not_found_error.yml b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_update/when_project_does_not_exist/raises_not_found_error.yml
new file mode 100644
index 0000000..89fb845
--- /dev/null
+++ b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_update/when_project_does_not_exist/raises_not_found_error.yml
@@ -0,0 +1,331 @@
+---
+http_interactions:
+- request:
+ method: post
+ uri: https://mailtrap.io/api/accounts/1111111/projects
+ body:
+ encoding: UTF-8
+ string: '{"project":{"name":"Original Project"}}'
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:50 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '149'
+ Etag:
+ - W/"25e67f433975ab649f5b5a50fb4d2a91"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-9VYfWxaSEgAIlpH2UbMRzA==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - c101b7f5-f9c3-40e6-b6f2-dfa852e8cb92
+ X-Runtime:
+ - '0.073294'
+ X-Cloud-Trace-Context:
+ - 8878437f829f4997cdc3df94747f7233;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a64676d975eeae-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"id":2568511,"name":"Original Project","share_links":{"admin":"https://mailtrap.io/projects/2568511/share/REDACTED","viewer":"https://mailtrap.io/projects/2568511/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}'
+ recorded_at: Thu, 06 Nov 2025 17:22:50 GMT
+- request:
+ method: patch
+ uri: https://mailtrap.io/api/accounts/1111111/projects/999999
+ body:
+ encoding: UTF-8
+ string: '{"project":{"name":"Updated Project"}}'
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 404
+ message: Not Found
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:50 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '148'
+ Cache-Control:
+ - no-cache
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-VdzQgHc5OHjbJ5jI1l1mXg==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - 5586ff0c-6f38-491b-a1f6-355cad021b97
+ X-Runtime:
+ - '0.019360'
+ X-Cloud-Trace-Context:
+ - 2f04c70fdafa4c03c89fada9ee40d79d;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a646785e8c0282-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"error":"Not Found"}'
+ recorded_at: Thu, 06 Nov 2025 17:22:50 GMT
+recorded_with: VCR 6.2.0
diff --git a/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_update/when_updating_only_name/updates_only_the_name_field.yml b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_update/when_updating_only_name/updates_only_the_name_field.yml
new file mode 100644
index 0000000..d4d6742
--- /dev/null
+++ b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_update/when_updating_only_name/updates_only_the_name_field.yml
@@ -0,0 +1,333 @@
+---
+http_interactions:
+- request:
+ method: post
+ uri: https://mailtrap.io/api/accounts/1111111/projects
+ body:
+ encoding: UTF-8
+ string: '{"project":{"name":"Original Project"}}'
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:49 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '137'
+ Etag:
+ - W/"c758c7713959e6c65326928713f7b199"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-HaESDhkNKHyHHQKFVW6hvw==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - 8cae999f-7fc5-4698-a7b7-ead7edacb294
+ X-Runtime:
+ - '0.071829'
+ X-Cloud-Trace-Context:
+ - aea66e7c3fc649ce8443d1b523e82fc0;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a64673a8d289fe-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"id":2568510,"name":"Original Project","share_links":{"admin":"https://mailtrap.io/projects/2568510/share/REDACTED","viewer":"https://mailtrap.io/projects/2568510/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}'
+ recorded_at: Thu, 06 Nov 2025 17:22:49 GMT
+- request:
+ method: patch
+ uri: https://mailtrap.io/api/accounts/1111111/projects/2568510
+ body:
+ encoding: UTF-8
+ string: '{"project":{"name":"New Name Only"}}'
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:49 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '136'
+ Etag:
+ - W/"a42e6ad9e60e03bffdb73163721bf8b5"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-ZHmfC4e26DwqzdNETsLGJg==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - 26be21c2-a381-49f1-ad6c-fdc22c611d09
+ X-Runtime:
+ - '0.087682'
+ X-Cloud-Trace-Context:
+ - 2a29525372474282c7eb3a46ec615f45;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a646752a6015f8-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"id":2568510,"name":"New Name Only","share_links":{"admin":"https://mailtrap.io/projects/2568510/share/REDACTED","viewer":"https://mailtrap.io/projects/2568510/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}'
+ recorded_at: Thu, 06 Nov 2025 17:22:50 GMT
+recorded_with: VCR 6.2.0
diff --git a/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_update/with_hash_request/maps_response_data_to_Project_object.yml b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_update/with_hash_request/maps_response_data_to_Project_object.yml
new file mode 100644
index 0000000..a60f6fc
--- /dev/null
+++ b/spec/fixtures/vcr_cassettes/Mailtrap_ProjectsAPI/_update/with_hash_request/maps_response_data_to_Project_object.yml
@@ -0,0 +1,333 @@
+---
+http_interactions:
+- request:
+ method: post
+ uri: https://mailtrap.io/api/accounts/1111111/projects
+ body:
+ encoding: UTF-8
+ string: '{"project":{"name":"Original Project"}}'
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:49 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '139'
+ Etag:
+ - W/"76642706d6a6767af3d369475a2c93bf"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-SmgW+50Ja0qu+p4Pg6QILQ==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - 686a6f89-9c76-4c1b-89fc-54b1938cdb13
+ X-Runtime:
+ - '0.105070'
+ X-Cloud-Trace-Context:
+ - 4652627853d047ed8f5ca9c363420951;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a646705c8e5779-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"id":2568509,"name":"Original Project","share_links":{"admin":"https://mailtrap.io/projects/2568509/share/REDACTED","viewer":"https://mailtrap.io/projects/2568509/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}'
+ recorded_at: Thu, 06 Nov 2025 17:22:49 GMT
+- request:
+ method: patch
+ uri: https://mailtrap.io/api/accounts/1111111/projects/2568509
+ body:
+ encoding: UTF-8
+ string: '{"project":{"name":"Updated Project"}}'
+ headers:
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - mailtrap-ruby (https://github.com/mailtrap/mailtrap-ruby)
+ Host:
+ - mailtrap.io
+ Authorization:
+ - Bearer
+ Content-Type:
+ - application/json
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Date:
+ - Thu, 06 Nov 2025 17:22:49 GMT
+ Content-Type:
+ - application/json; charset=utf-8
+ Transfer-Encoding:
+ - chunked
+ Connection:
+ - keep-alive
+ Server:
+ - cloudflare
+ X-Frame-Options:
+ - SAMEORIGIN
+ X-Xss-Protection:
+ - 1; mode=block
+ X-Content-Type-Options:
+ - nosniff
+ X-Download-Options:
+ - noopen
+ X-Permitted-Cross-Domain-Policies:
+ - none
+ Referrer-Policy:
+ - strict-origin-when-cross-origin
+ Vary:
+ - Accept
+ X-Mailtrap-Version:
+ - v2
+ X-Ratelimit-Limit:
+ - '150'
+ X-Ratelimit-Remaining:
+ - '138'
+ Etag:
+ - W/"c23f6ba7654468fa9adf039f42cec65c"
+ Cache-Control:
+ - max-age=0, private, must-revalidate
+ Content-Security-Policy:
+ - 'default-src ''self''; style-src ''self'' data: blob: ''unsafe-inline'' assets.mailtrap.io
+ www.googletagmanager.com fonts.googleapis.com; font-src ''self'' data: blob:
+ ''unsafe-inline'' assets.mailtrap.io static.hsappstatic.net fonts.gstatic.cn
+ fonts.gstatic.com *.s-microsoft.com use.typekit.net; script-src ''self'' data:
+ blob: assets.mailtrap.io *.cookiebot.com www.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com www.googleadservices.com www.google.com
+ beacon-v2.helpscout.net js.hs-analytics.net js.hs-banner.com js.hs-scripts.com
+ cdn.firstpromoter.com connect.facebook.net www.recaptcha.net www.gstatic.cn
+ www.gstatic.com *.quora.com static.ads-twitter.com snap.licdn.com *.growthbook.io
+ translate.google.com ''nonce-js-RJj+3YeyA4sTpTsvtraJOA==''; connect-src ''self''
+ assets.mailtrap.io wss://mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat errors.rw.rw *.cookiebot.com *.clarity.ms
+ *.g.doubleclick.net *.googlesyndication.com *.googletagmanager.com www.google.com
+ wss://ws-helpscout.pusher.com sockjs-helpscout.pusher.com *.helpscout.net
+ *.firstpromoter.com connect.facebook.net *.facebook.com www.recaptcha.net
+ *.analytics.google.com *.google-analytics.com *.quora.com *.linkedin.com analytics.twitter.com
+ t.co/1/i/adsct *.growthbook.io meta-gateway.mailtrap.io translate-pa.googleapis.com;
+ img-src ''self'' data: blob: assets.mailtrap.io *.google.com *.google.ad *.google.ae
+ *.google.com.af *.google.com.ag *.google.al *.google.am *.google.co.ao *.google.com.ar
+ *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd
+ *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj
+ *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw
+ *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg
+ *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn
+ *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy
+ *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do
+ *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et
+ *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge
+ *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr
+ *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht
+ *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in
+ *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo
+ *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr
+ *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk
+ *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma
+ *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm
+ *.google.mn *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx
+ *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni
+ *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu
+ *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg
+ *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps
+ *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw
+ *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh
+ *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm
+ *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th
+ *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr
+ *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug
+ *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve
+ *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za
+ *.google.co.zm *.google.co.zw *.google.cat *.cookiebot.com *.clarity.ms *.doubleclick.net
+ *.googlesyndication.com *.googletagmanager.com *.google.com track.hubspot.com
+ *.facebook.com *.facebook.net *.analytics.google.com *.google-analytics.com
+ *.quora.com *.linkedin.com analytics.twitter.com t.co/1/i/adsct secure.gravatar.com;
+ frame-src ''self'' consentcdn.cookiebot.com td.doubleclick.net www.googletagmanager.com
+ www.facebook.com www.recaptcha.net translate.googleapis.com; frame-ancestors
+ ''self''; media-src ''self'' data: blob: beacon-v2.helpscout.net ssl.gstatic.com;
+ object-src ''self'' beacon-v2.helpscout.net; report-uri https://errors.rw.rw/api/37/security/?sentry_key=5a0cc8a2cb4f49a8b9043c602e4ec0ab'
+ X-Request-Id:
+ - 6341454c-7091-4a97-a74d-94d931e50645
+ X-Runtime:
+ - '0.072047'
+ X-Cloud-Trace-Context:
+ - e232a4dfcd1e404ec34b5d6123563891;o=0
+ Strict-Transport-Security:
+ - max-age=0
+ Cf-Cache-Status:
+ - DYNAMIC
+ Cf-Ray:
+ - 99a646721c9deeb2-WAW
+ Alt-Svc:
+ - h3=":443"; ma=86400
+ body:
+ encoding: UTF-8
+ string: '{"id":2568509,"name":"Updated Project","share_links":{"admin":"https://mailtrap.io/projects/2568509/share/REDACTED","viewer":"https://mailtrap.io/projects/2568509/share/REDACTED"},"inboxes":[],"permissions":{"can_read":true,"can_update":true,"can_destroy":true,"can_leave":false}}'
+ recorded_at: Thu, 06 Nov 2025 17:22:49 GMT
+recorded_with: VCR 6.2.0
\ No newline at end of file
diff --git a/spec/mailtrap/project_spec.rb b/spec/mailtrap/project_spec.rb
new file mode 100644
index 0000000..2c18476
--- /dev/null
+++ b/spec/mailtrap/project_spec.rb
@@ -0,0 +1,139 @@
+# frozen_string_literal: true
+
+RSpec.describe Mailtrap::Project do
+ describe '#initialize' do
+ subject(:project) { described_class.new(attributes) }
+
+ let(:attributes) do
+ {
+ id: '123456',
+ name: 'My Project',
+ share_links: [
+ {
+ id: 'abc123',
+ name: 'Share Link 1',
+ url: 'https://example.com/share/1'
+ }
+ ],
+ inboxes: [
+ {
+ id: 456,
+ name: 'Test Inbox',
+ username: 'test@inbox.mailtrap.io'
+ }
+ ],
+ permissions: {
+ can_read: true,
+ can_update: true,
+ can_destroy: false,
+ can_leave: true
+ }
+ }
+ end
+
+ it 'creates a project with all attributes' do
+ expect(project).to have_attributes(
+ id: '123456',
+ name: 'My Project',
+ share_links: [
+ {
+ id: 'abc123',
+ name: 'Share Link 1',
+ url: 'https://example.com/share/1'
+ }
+ ],
+ permissions: {
+ can_read: true,
+ can_update: true,
+ can_destroy: false,
+ can_leave: true
+ }
+ )
+
+ expect(project.inboxes.map(&:to_h)).to eq([
+ {
+ id: 456,
+ name: 'Test Inbox',
+ username: 'test@inbox.mailtrap.io'
+ }
+ ])
+ end
+ end
+
+ describe '#to_h' do
+ subject(:hash) { project.to_h }
+
+ let(:project) do
+ described_class.new(
+ id: '123456',
+ name: 'My Project',
+ share_links: [
+ {
+ id: 'abc123',
+ name: 'Share Link 1',
+ url: 'https://example.com/share/1'
+ }
+ ],
+ inboxes: [
+ {
+ id: 456,
+ name: 'Test Inbox',
+ username: 'test@inbox.mailtrap.io'
+ }
+ ],
+ permissions: {
+ can_read: true,
+ can_update: true,
+ can_destroy: false,
+ can_leave: true
+ }
+ )
+ end
+
+ it 'returns a hash with all attributes' do
+ expect(hash).to eq(
+ id: '123456',
+ name: 'My Project',
+ share_links: [
+ {
+ id: 'abc123',
+ name: 'Share Link 1',
+ url: 'https://example.com/share/1'
+ }
+ ],
+ inboxes: [
+ {
+ id: 456,
+ name: 'Test Inbox',
+ username: 'test@inbox.mailtrap.io'
+ }
+ ],
+ permissions: {
+ can_read: true,
+ can_update: true,
+ can_destroy: false,
+ can_leave: true
+ }
+ )
+ end
+
+ context 'when some attributes are nil' do
+ let(:project) do
+ described_class.new(
+ id: '123456',
+ name: 'My Project',
+ share_links: nil,
+ inboxes: nil,
+ permissions: nil
+ )
+ end
+
+ it 'returns a hash with only non-nil attributes' do
+ expect(hash).to eq(
+ id: '123456',
+ name: 'My Project'
+ )
+ end
+ end
+ end
+end
diff --git a/spec/mailtrap/projects_api_spec.rb b/spec/mailtrap/projects_api_spec.rb
new file mode 100644
index 0000000..6ada097
--- /dev/null
+++ b/spec/mailtrap/projects_api_spec.rb
@@ -0,0 +1,194 @@
+# frozen_string_literal: true
+
+RSpec.describe Mailtrap::ProjectsAPI, :vcr do
+ subject(:project_api) { described_class.new(account_id, client) }
+
+ let(:account_id) { ENV.fetch('MAILTRAP_ACCOUNT_ID', 1_111_111) }
+ let(:client) { Mailtrap::Client.new(api_key: ENV.fetch('MAILTRAP_API_KEY', 'local-api-key')) }
+
+ describe '#list' do
+ subject(:list) { project_api.list }
+
+ it 'maps response data to Project objects' do
+ expect(list).to all(be_a(Mailtrap::Project))
+ end
+
+ context 'when api key is incorrect' do
+ let(:client) { Mailtrap::Client.new(api_key: 'incorrect-api-key') }
+
+ it 'raises authorization error' do
+ expect { list }.to raise_error do |error|
+ expect(error).to be_a(Mailtrap::AuthorizationError)
+ expect(error.message).to include('Incorrect API token')
+ expect(error.messages.any? { |msg| msg.include?('Incorrect API token') }).to be true
+ end
+ end
+ end
+ end
+
+ describe '#get' do
+ subject(:get) { project_api.get(project_id) }
+
+ let!(:created_project) do
+ project_api.create(
+ name: 'Test Project'
+ )
+ end
+ let(:project_id) { created_project.id }
+
+ it 'maps response data to Project object' do
+ expect(get).to be_a(Mailtrap::Project)
+ expect(get).to have_attributes(
+ id: project_id,
+ name: 'Test Project'
+ )
+ end
+
+ context 'when project does not exist' do
+ let(:project_id) { 999_999 }
+
+ it 'raises not found error' do
+ expect { get }.to raise_error do |error|
+ expect(error).to be_a(Mailtrap::Error)
+ expect(error.message).to include('Not Found')
+ expect(error.messages.any? { |msg| msg.include?('Not Found') }).to be true
+ end
+ end
+ end
+ end
+
+ describe '#create' do
+ subject(:create) { project_api.create(**request) }
+
+ let(:request) do
+ {
+ name: 'New Project'
+ }
+ end
+
+ it 'maps response data to Project object' do
+ expect(create).to be_a(Mailtrap::Project)
+ expect(create).to have_attributes(
+ name: 'New Project'
+ )
+ end
+
+ context 'with hash request' do
+ let(:request) do
+ {
+ name: 'New Project'
+ }
+ end
+
+ it 'maps response data to Project object' do
+ expect(create).to be_a(Mailtrap::Project)
+ expect(create).to have_attributes(
+ name: 'New Project'
+ )
+ end
+ end
+
+ context 'when API returns an error' do
+ let(:request) do
+ {
+ name: '' # Invalid value, but present
+ }
+ end
+
+ it 'raises a Mailtrap::Error' do
+ expect { create }.to raise_error do |error|
+ expect(error).to be_a(Mailtrap::Error)
+ expect(error.message).to include('client error')
+ end
+ end
+ end
+ end
+
+ describe '#update' do
+ subject(:update) { project_api.update(project_id, **request) }
+
+ let!(:created_project) do
+ project_api.create(
+ name: 'Original Project'
+ )
+ end
+ let(:project_id) { created_project.id }
+ let(:request) do
+ {
+ name: 'Updated Project'
+ }
+ end
+
+ it 'maps response data to Project object' do
+ expect(update).to be_a(Mailtrap::Project)
+ expect(update).to have_attributes(
+ name: 'Updated Project'
+ )
+ end
+
+ context 'with hash request' do
+ let(:request) do
+ {
+ name: 'Updated Project'
+ }
+ end
+
+ it 'maps response data to Project object' do
+ expect(update).to be_a(Mailtrap::Project)
+ expect(update).to have_attributes(
+ name: 'Updated Project'
+ )
+ end
+ end
+
+ context 'when updating only name' do
+ let(:request) { { name: 'New Name Only' } }
+
+ it 'updates only the name field' do
+ expect(update).to be_a(Mailtrap::Project)
+ expect(update).to have_attributes(
+ name: 'New Name Only'
+ )
+ end
+ end
+
+ context 'when project does not exist' do
+ let(:project_id) { 999_999 }
+
+ it 'raises not found error' do
+ expect { update }.to raise_error do |error|
+ expect(error).to be_a(Mailtrap::Error)
+ expect(error.message).to include('Not Found')
+ expect(error.messages.any? { |msg| msg.include?('Not Found') }).to be true
+ end
+ end
+ end
+ end
+
+ describe '#delete' do
+ subject(:delete) { project_api.delete(project_id) }
+
+ let!(:created_project) do
+ project_api.create(
+ name: 'Project to Delete'
+ )
+ end
+ let(:project_id) { created_project.id }
+
+ it 'returns deleted project id' do
+ expect(delete).to eq({ id: project_id })
+ end
+
+ context 'when project does not exist' do
+ let(:project_id) { 999_999 }
+
+ it 'raises not found error' do
+ expect { delete }.to raise_error do |error|
+ expect(error).to be_a(Mailtrap::Error)
+ expect(error.message).to include('Not Found')
+ expect(error.messages.any? { |msg| msg.include?('Not Found') }).to be true
+ end
+ end
+ end
+ end
+end