{"templateId":"markdown","versions":[{"version":"shipstation-v2","label":"ShipStation V2 API","link":"/apis/docs/getting-started/rest","default":true,"active":false,"folderId":"58c9a61d"},{"version":"shipengine","label":"ShipStation API (formerly ShipEngine)","link":"/apis/shipengine/docs/getting-started/rest","default":false,"active":true,"folderId":"58c9a61d"},{"version":"shipstation-v1","label":"ShipStation V1 API","link":"/apis/shipstation-v1/docs/getting-started/rest","default":false,"active":false,"folderId":"58c9a61d"}],"sharedDataIds":{"sidebar":"sidebar-apis/@shipengine/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Introduction to REST","keywords":"shipping, labels, shipstation, documentation, api","siteUrl":"https://docs.shipstation.com","lang":"en-US","llmstxt":{"hide":false,"title":"ShipStation API LLM Docs","description":"Find links and references to all markdown documentation for use with LLMs","excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"introduction-to-rest","__idx":0},"children":["Introduction to REST"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["ShipStation API is a ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://en.wikipedia.org/wiki/Representational_state_transfer"},"children":["REST (REpresentational State Transfer)"]}," API, which means that it follows certain HTTP conventions for things like URLs, methods, headers, and status codes. If you're not yet familiar with REST, then this page is for you. It'll explain the basics you need to know to get started with ShipStation API."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"resources","__idx":1},"children":["Resources"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["REST APIs are centered around the concept of ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://restful-api-design.readthedocs.io/en/latest/resources.html"},"children":["resources"]},". Resources are data on which you can perform operations. For example, one of the resources in ShipStation API is a label, and the operations that you can perform on a label include ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/apis/shipengine/docs/labels/create-a-label"},"children":["creating a label"]},", ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/apis/shipengine/docs/reference/list-labels"},"children":["querying labels"]},", and ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/apis/shipengine/docs/labels/voiding"},"children":["voiding labels"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"json","__idx":2},"children":["JSON"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["REST allows resources to be represented in any format, such as JSON, XML, CSV, binary, etc. Almost all resources in ShipStation API are in ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://en.wikipedia.org/wiki/JSON"},"children":["JSON format"]},". One notable exception to this is label images, which can be downloaded in a ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/apis/shipengine/docs/labels/formats"},"children":["variety of formats"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["JSON is a convenient format to represent REST resources because it's human readable, compresses well, and is supported by all modern programming languages. In addition, JSON is fairly easy to understand because it only has a few data types:"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"json-data-types","__idx":3},"children":["JSON Data Types"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Example"},"children":["Example"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Text data, such as names and addresses"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"John Doe\""]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Number"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Positive, negative, or decimal numbers"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["100"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["42.7"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-5"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Either true or false"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Null"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No value"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Object"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A set of key/value pairs inside curly braces. The keys are always strings, but the values can be ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["any"]}," JSON data type."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\"name\" : \"John Doe\",",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\"age\": 37,",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\"is_married\": true",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"}"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Array"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["An ordered list of values inside square brackets. The values can be ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["any"]}," JSON data type."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["[\"red\", \"green\", \"blue\"]"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"http","__idx":4},"children":["HTTP"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["REST APIs communicate using ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol"},"children":["HTTP (HyperText Transfer Protocol)"]}," or its more secure sibling, HTTPS (HTTP Secure), which uses ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://en.wikipedia.org/wiki/Transport_Layer_Security"},"children":["TLS (Transport Layer Security)"]}," to encrypt request and response data."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["ShipStation API requires HTTPS and TLS v1.1 or higher for all API calls. This means that all API calls must be made to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.shipengine.com"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.eu.shipengine.com"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["not"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["http://"]},"."]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["NOTE:"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"deprecated-security-protocols","__idx":5},"children":["Deprecated Security Protocols"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["ShipStation API does ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["not"]}," support older security protocols such as TLS 1.0 or any version of ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://www.ssl.com/faqs/faq-what-is-ssl/"},"children":["SSL"]},". These protocols have been ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://tools.ietf.org/html/rfc7568"},"children":["deprecated by the IETF"]}," due to security vulnerabilities."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["See our ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/apis/shipengine/docs/guides/auth"},"children":["Security & Authentication Guide"]}," for more information."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"requests--responses","__idx":6},"children":["Requests & Responses"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To call a REST API, you need to send an HTTP request to the server. The request contains all the information necessary to tell the server (i.e., ShipStation API) what you want it to do. When the server is finished performing the operation you requested it sends an HTTP response back to you, which contains all the information necessary to let you know whether the operation was successful or not and includes any data that you requested."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["All HTTP ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["requests"]}," consist of four parts: ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#methods"},"children":["method"]},", ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#endpoints"},"children":["endpoint"]},", ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#headers"},"children":["headers"]},", and ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#json"},"children":["JSON data"]},". You can learn more about ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://www.shipengine.com/the-anatomy-of-an-http-request/"},"children":["the anatomy of an HTTP request"]}," on our blog."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["HTTP ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["responses"]}," consist of just three parts: a ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#status-codes"},"children":["status code"]},", ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#headers"},"children":["headers"]},", and ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#json"},"children":["JSON data"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"methods","__idx":7},"children":["Methods"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The HTTP protocol includes many different \"methods\" (also called \"verbs\"), such as GET, POST, PUT, PATCH, OPTIONS, and more. Each of these methods instructs the server to perform a certain operation on a resource. To keep things simple, ShipStation API only uses the following methods:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Method"},"children":["Method"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["GET"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Requests one or more resources from the server."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["POST"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Creates one or more new resources."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["PUT"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Updates a resource or performs an action."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["PATCH"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Adds data to an existing resource."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["DELETE"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Deletes or deactivates a resource."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"endpoints","__idx":8},"children":["Endpoints"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To call our API you have to know its endpoint, which is a combination of a ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://en.wikipedia.org/wiki/URL"},"children":["URL (Uniform Resource Locator)"]}," and an HTTP method. For example, to ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/apis/shipengine/docs/labels/create-a-label"},"children":["create a shipping label"]},", you need to use the POST method to call the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v1/labels"]}," endpoint: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST https://api.shipengine.com/v1/labels"]},". In this case, the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}," method tells the server that you want to create a new resource and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/v1/labels"]}," URL path tells the server what kind of resource you want to create (a label)."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"url-query-parameters","__idx":9},"children":["URL Query Parameters"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Some HTTP requests may also include URL query parameters, which are used by the server to filter the data returned in the response. A query parameter consists of a key-value pair, such as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["carrier_id=se-28529731"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You specify query parameters by including them directly in the URL using a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["?"]}," to indicate that query parameters follow. For example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.shipengine.com/v1/labels?carrier_id=se-28529731"]},". This example tells ShipStation API to return all the labels from the specified carrier ID. If we did not include this portion in the URL, ShipStation API would have returned all the labels ever created regardless of carrier ID."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you wish to include multiple parameters in the URL, simply separate each set of parameters with an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["&"]},". For example,"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.shipengine.com/v1/labels?carrier_id=se-28529731&warehouse_id=se-1234"]},". This example tells ShipStation API to return all labels with the specified Carrier ID ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["and"]}," the specified warehouse ID."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"example-request-with-query-parameters","__idx":10},"children":["Example Request with Query Parameters"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"http","header":{"controls":{"copy":{}}},"source":"GET /v1/labels?created_at_start=2020-11-09T00:37:54.14212Z&created_at_end=2020-11-09T22:37:54.14212Z HTTP/1.1\nHost: https://api-stage.shipengine.com\nAPI-Key: __YOUR_API_KEY_HERE__\nContent-Type: application/json\n","lang":"http"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"headers","__idx":11},"children":["Headers"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["HTTP requests and responses have a data section and a headers section. The data section contains a REST resource, such as a label in JSON format. The headers section contains metadata about the request or response."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["There are ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://en.wikipedia.org/wiki/List_of_HTTP_header_fields"},"children":["many different types of headers"]},", but these are the main ones that are relevant for ShipStation API: request headers and response headers."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"request-headers","__idx":12},"children":["Request Headers"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Header Name"},"children":["Header Name"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Example"},"children":["Example"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["API-Key"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your ShipStation ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/apis/shipengine/docs/guides/auth"},"children":["API auth key"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["API-Key: STlTyUyfFYmw2F2Qqhj8BhRQAfG72HP"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Content-Type"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tells the server what data format you're sending. ShipStation API only supports ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#json"},"children":["JSON format"]},"."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Content-Type: application/json"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"response-headers","__idx":13},"children":["Response Headers"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Header Name"},"children":["Header Name"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Example"},"children":["Example"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Content-Type"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tells you what data format the server is sending. This will be in ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#json"},"children":["JSON format"]}," except for label downloads, which can be in a ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/apis/shipengine/docs/labels/formats"},"children":["variety of formats"]},"."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Content-Type: application/json"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Content-Length"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The size of the response data in bytes."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Content-Length: 2537"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Date"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The date/time the response was sent"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Date: Fri, 18 Oct 2019 18:00:28 GMT"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["X-ShipEngine-RequestID"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A unique ID for every request/response. You can use this for logging or when opening a ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://help.shipengine.com/hc/en-us/requests/new"},"children":["support ticket"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-ShipEngine-RequestID: c6c453ca-37e9-4326-9d32-e72da2ae4195"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"status-codes","__idx":14},"children":["Status Codes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://en.wikipedia.org/wiki/List_of_HTTP_status_codes"},"children":["HTTP response status codes"]}," let you know whether your API request was processed successfully or if an ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/apis/shipengine/docs/guides/errors"},"children":["error"]}," occurred. ShipStation API uses the following status codes:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Status Code"},"children":["Status Code"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Reason"},"children":["Reason"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["200"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Success"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The HTTP request was successful."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["201"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Created"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The requested resource was successfully created."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["204"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No Content"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The HTTP request was successful and the response is empty."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["207"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Multi-Status"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The HTTP request was successful but contains separate response codes that each need to be evaluated."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["400"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Bad Request"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["There's something wrong with your request. See the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/apis/shipengine/docs/reference/errors-codes"},"children":["error code"]}," for more details about the problem."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["401"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unauthorized"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/apis/shipengine/docs/guides/auth"},"children":["API key"]}," is invalid, expired, or has been deactivated."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["404"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Not Found"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The resource you requested does not exist. For example, a request to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v1/shipments/se-123456"]}," would return a 404 status code if there is no shipment with an ID of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["se-123456"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["405"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Not Allowed"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#methods"},"children":["HTTP method"]}," you used is not supported by ShipStation API."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["409"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Conflict"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The request conflicts with the current state of the server. For example, you may be attempting to create a resource that already exists or ship a package that has already been shipped."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["500"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Internal Server Error"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The server cannot process the request. If this occurrs persistently then please ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://help.shipengine.com/hc/en-us/requests/new"},"children":["contact support for help"]},"."]}]}]}]}]}]},"headings":[{"value":"Introduction to REST","id":"introduction-to-rest","depth":1},{"value":"Resources","id":"resources","depth":2},{"value":"JSON","id":"json","depth":2},{"value":"JSON Data Types","id":"json-data-types","depth":3},{"value":"HTTP","id":"http","depth":2},{"value":"Deprecated Security Protocols","id":"deprecated-security-protocols","depth":3},{"value":"Requests & Responses","id":"requests--responses","depth":2},{"value":"Methods","id":"methods","depth":3},{"value":"Endpoints","id":"endpoints","depth":3},{"value":"URL Query Parameters","id":"url-query-parameters","depth":3},{"value":"Example Request with Query Parameters","id":"example-request-with-query-parameters","depth":4},{"value":"Headers","id":"headers","depth":3},{"value":"Request Headers","id":"request-headers","depth":4},{"value":"Response Headers","id":"response-headers","depth":4},{"value":"Status Codes","id":"status-codes","depth":3}],"frontmatter":{"seo":{"title":"Introduction to REST"}},"lastModified":"2026-04-08T10:47:45.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/apis/shipengine/docs/getting-started/rest","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}