= Credit Card API - Access Guide
Version: {project-version}
:toc:
:sectanchors:
:sectlinks:
:toclevels: 6
:source-highlighter: highlightjs
:homepage: https://github.com/jonyfs/credit-card-api

[[overview]]
== Overview
	
NOTE: Credit Card Api is a RestFul application built with Spring Boot and Embedded MongoDB
It's based on Level 3 of the famous http://martinfowler.com/articles/richardsonMaturityModel.html[Richardson Maturity Model]. This is one of the most discussed subjects about API design.
This source code is hosted in {homepage}.
	
[[endpointUrl]]
== Endpoints

|===
| Environment | Url

| dev
| link:{dev-endpoint-url}[{dev-endpoint-url}]

| test
| link:{test-endpoint-url}[{test-endpoint-url}]

| production
| link:{endpoint-url}[{endpoint-url}]

|===

[[overview-http-verbs]]
== HTTP verbs

NOTE: RESTful notes tries to adhere as closely as possible to standard HTTP and REST conventions in its
use of HTTP verbs.

|===
| Verb | Usage

| `GET`
| Used to retrieve a resource

| `POST`
| Used to create a new resource

|===

[[overview-http-status-codes]]
== HTTP status codes

NOTE: RESTful notes tries to adhere as closely as possible to standard HTTP and REST conventions in its
use of HTTP status codes.

|===
| Status code | Usage

| `200 OK`
| The request completed successfully

| `201 Created`
| A new resource has been created successfully. The resource's URI is available from the response's `Location` header

| `204 No Content`
| An update to an existing resource has been applied successfully

| `400 Bad Request`
| The request was malformed. The response body will include an error providing further information

| `422 Unprocessable Entity`
| The request was well-formed but was unable to be followed due to semantic errors.


| `404 Not Found`
| The requested resource did not exist
|===

[[overview-hypermedia]]
== Hypermedia

NOTE: RESTful Notes uses hypermedia and resources include links to other resources in their
responses. Responses are in http://stateless.co/hal_specification.html[Hypertext Application
Language (HAL)] format. Links can be found benath the `_links` key. Users of the API should
not created URIs themselves, instead they should use the above-described links to navigate
from resource to resource.

<<<

[[resources]]
== Resources
include::index-resource.adoc[]
<<<
include::payment-resource.adoc[]
  
