diff --git a/spec/acceptance/users_spec.rb b/spec/acceptance/users_spec.rb
new file mode 100644
index 0000000000000000000000000000000000000000..9cf3de4e3fb7ae6667e1a3b4a0d99d218cb11672
--- /dev/null
+++ b/spec/acceptance/users_spec.rb
@@ -0,0 +1,36 @@
+require 'acceptance_helpers'
+
+resource 'Users' do
+  header 'Accept', 'application/json'
+  header 'Content-Type', 'application/json'
+
+  before { 12.times { create(:user) } }
+
+  let(:users) { User.all }
+
+  get '/v1/users' do
+    parameter :limit, 'Limit of users'
+    parameter :offset, 'Offset of users'
+
+    let(:limit) { 12 }
+    let(:offset) { 0 }
+
+    example_request 'Get a list of users' do
+      # active model serializer may render model associations in different order for collections (array of items), so we're verifing only returned ids
+      expect(JSON.parse(response_body).map { |o| o['id'] }.sort).to eq(User.limit(limit).offset(offset).pluck(:id).sort)
+      expect(status).to eq(200)
+    end
+  end
+
+  get '/v1/users/:id' do
+    let(:id) { users.first.id }
+
+    example 'Get a user' do
+      do_request
+      expect(path).to eq("/v1/users/#{id}") # `:id` is replaced with the value of `id`
+      expect(response_body).to eq(Helper.serialize(User.find(id)))
+      expect(status).to eq(200)
+    end
+  end
+
+end