---
source_url: https://www.pubnub.com/docs/sdks/rest-api/introduction
title: Introduction
---

# Introduction

> For AI agents: documentation index at https://www.pubnub.com/llms-full.txt

:::note Postman collection
For easy PubNub API testing and exploration, access the PubNub Postman collection at [PubNub's Workspace](https://www.postman.com/pubnub-api/pubnub-s-workspace/collection/l2hxvr2/pubnub-api). Find out how to test it by reading the related [blog post](https://www.pubnub.com/blog/announcing-pubnubs-postman-collection/).
:::

## Authentication

PubNub REST APIs don't require a username or password to be sent in the header. Authentication is based on the publish and subscribe keys from the [Admin Portal](https://admin.pubnub.com/).

If you're using [Access Manager](https://www.pubnub.com/docs/sdks/rest-api/access-manager-introduction.md) for access control, you must correctly set the value of the `auth` query parameter.

## Common Query Parameters

The following parameters should be used on all REST calls being made to PubNub.

* `uuid` – required - A UTF-8 encoded string of up to 92 characters used to identify the client.
* `auth` – optional - An Access Manager authentication key (PAM v2) or token (Access Manager), to be used on endpoints with access control.
* `signature` – optional - Only to be used for Access Manager admin REST calls. For more information on how to compute the signature, refer to [Signature generation](https://www.pubnub.com/docs/sdks/rest-api/access-manager-introduction.md).
* `pnsdk` – optional - An identifier used to determine your client SDK. This should be of the format `CompanyName-ProgrammingLanguageUsed/YourClientSDKVersion`, for example `CompanyABC-JS/1.0`. [support@pubnub.com](mailto:support@pubnub.com) for further information.

## Common Request Headers

The following HTTP headers should be used across all PubNub REST requests.

* `Content-Encoding` - When sending compressed, gzipped data via POST requests, set value as `gzip`.
* `Content-Type` - Always use `application/json; charset=UTF-8` when sending JSON, and use UTF-8.
* `Accept-Encoding` - If your client supports `gzip`, set this value to `gzip`, if your client supports `deflate`, set this value to `deflate`, if it supports both, set this value to `gzip, deflate` and if it supports neither, omit this header.

## Common HTTP Status Codes

The following HTTP Status codes should be treated the same across all PubNub REST responses.

* `200` – The REST call was successful. Refer to the operation's detailed usage for more information on parsing the response.
* `403` – The REST call was unsuccessful, due to an Access Manager (access control) issue. Try again, without an `auth` URL parameter, or with a different `auth` value.
* `414` – The REST call was unsuccessful, due to exceeding the allowed size of 32 KiB.
