anchor.diff:  All API access is over HTTP, and accessed from `http://www.ebi.ac.uk/submissions/api`.
   All data is sent and received as JSON. Blank fields are included as `null` instead of being omitted.
   
  -
  -
  -== Summary representations
  -
  -When fetching a list of resources, the response includes a subset of the attributes for that resource.
  -For performance reasons some attributes are excluded from the summary representation.
  -These are available from the detailed representation.
  -
  -Example: When you get a list of samples, you get the summary representation of each sample.
  -
  -include::{snippets}/samples/by-submission/curl-request.adoc[]
  -include::{snippets}/samples/by-submission/http-response.adoc[]
  -
  -== Detailed representations
  -
  -When fetching an individual resource, the response typically includes all attributes for that resource.
  -Nested resources are typically not included by default.
  -
  -Example: When you fetch an individual sample, you get the detailed representation.
  -
  -include::{snippets}/samples/fetch-one/curl-request.adoc[]
  -include::{snippets}/samples/fetch-one/http-response.adoc[]
  -
  -== Root endpoint
  -
  -You can issue a `GET` request to the root endpoint to get all the endpoint categories supported  by the API.
  -
  -include::{snippets}/root-endpoint/curl-request.adoc[]
  -include::{snippets}/root-endpoint/http-response.adoc[]
  -
  -== Client errors
  +=== HTTP Verbs
  +
  +This API aims to use appropriate HTTP verbs for each action
  +
  +
  +[cols=2*,options="header"]
  +|===
  +|Verb
  +|Description
  +
  +
  +|`GET`|Used for retrieving resources
  +|`POST`|Used for creating resources
  +|`PATCH`|Used to modify a resource
  +|`PUT`|Used for replacing resources
  +|`DELETE`|Used for deleting resources
  +|`OPTIONS`|Can be used to determine which verbs can be used for a resource
  +|`HEAD`|Returns whether a resource is available
  +|===
  +
  +=== HTTP status codes
  +
  +[cols=2*,options="header"]
  +|===
  +|Status code
  +|Description
  +
  +
  +|`200 OK`|The request completed successfully
  +|`201 Created`|Returned after successfully creating a new resource with a `POST` request
  +|`204 No Content`|Returned after a request successfully deleted a resource.
  +|`304 Not Modified`|Returned in response to a conditional `GET` request, when the resource has not been modified
  +|`400 Bad Request`|The request was malformed. The response body will include an error providing further information
  +|`405 Method Not Allowed`|The request used a method that is not permitted
  +|`412 Precondition Failed`|Returned in response to a conditional `PATCH`, `PUT` or `DELETE`, when the condition did not match the resource state
  +|===
  +
  +=== Authentication
  +
  +TODO, pending implementation details from AAP. Get a https://jwt.io/[JWT] token from AAP. Include it as the Authorization header in
  +requests to the submissions API.
  +
  +[source,bash]
  +----
  +$ curl 'http://www.ebi.ac.uk/submissions/api' -i -H 'Accept: application/hal+json' -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ'
  +----
  +
  +
  +=== Errors
   
   There are several types of client errors on API calls that receive request bodies.
   
  
positive.code: 
  
  
  == Accessing submissions for a domain
  
  === Request structure
  
negative.code: :toclevels: 4
  :sectlinks:
  
  == Overview
  
  This describes the resources that make up the EMBL-EBI submissions API.
  If you have any queries or requests, please contact mailto:subs-help@ebi.ac.uk[support].
  