The Postman API allows you to programmatically access data stored in Postman account with ease.
Bring your own key. This API needs your own Postman API key - get one from the provider, add it once below, and the proxy injects it on every call. Your OmniStream plan covers the unified SDK, key storage, and proxy - the provider's own rate limits still apply to your key.
This is a community listing. If you own this API, you can request ownership.
npm install omnistream-sdkimport { OmniClient } from "omnistream-sdk";
const omni = new OmniClient({ token: process.env.OMNI_KEY! });
// One key reaches every API on the marketplace.
const data = await omni.call("getpostman/getAllApIs");One install, one key - the same client calls every API on the marketplace.
Only return APIs that are inside the given workspace.
Only return APIs that have been updated after this time. Time is represented using the ISO 8601 date and time format.
Only return APIs that have been updated before this time. Time is represented using the ISO 8601 date and time format.
Only return APIs that have been created by the user ID represented by the given value.
Only return APIs that have been updated by the user ID represented by the given value.
Only return APIs with the corresponding privacy state. Public APIs have the isPublic value true; private APIs have the isPublic value false.
Only return APIs whose name includes the given value. Matching is case insensitive.
Only return APIs whose summary includes the given value. Matching is case insensitive.
Only return APIs whose description includes the given value. Matching is case insensitive.
The value of sort can be one of the names of the fields included in the response.
The sorting direction, which can be ascending or descending. The value can be asc to specify an ascending direction or desc to specify a descending direction. If none is specified, the default sorting direction is descending for timestamp and numeric fields and ascending otherwise. An ID is not considered a numeric field.
Get all APIs
Create API
Single API
Update an API
Delete an API
Get All API Versions
/**
* PostmanAPI - generated by OmniStream from Postman API's OpenAPI spec.
* One typed method per endpoint. A single Omni key reaches the API.
*/
const DEFAULT_BASE = "https://grid.skinvaults.online/v1/proxy/getpostman";
export class PostmanAPIError extends Error {
status: number;
code?: string;
constructor(status: number, code: string | undefined, message?: string) {
super(message || `PostmanAPI error ${status}`);
this.name = "PostmanAPIError";
this.status = status;
this.code = code;
}
}
export interface PostmanAPIOptions {
baseUrl?: string;
fetch?: typeof fetch;
timeoutMs?: number;
}
export class PostmanAPI {
/** @param token Your OmniStream key (one key for every API). */
constructor(private token: string, private opts: PostmanAPIOptions = {}) {
if (!token) throw new Error("PostmanAPI: token is required");
}
rateLimit: { remainingMinute?: number; remainingDay?: number } | null = null;
private async _request(method: string, path: string, { params, body }: { params?: Record<string, unknown>; body?: unknown } = {}): Promise<any> {
const f = this.opts.fetch ?? globalThis.fetch;
const url = new URL((this.opts.baseUrl ?? DEFAULT_BASE).replace(/\/+$/, "") + path);
if (params) for (const [k, v] of Object.entries(params)) if (v != null) url.searchParams.set(k, String(v));
const headers: Record<string, string> = { "x-omni-key": this.token };
if (body !== undefined) headers["content-type"] = "application/json";
const res = await f(url, { method, headers, body: body !== undefined ? JSON.stringify(body) : undefined });
this.rateLimit = {
remainingMinute: Number(res.headers.get("x-ratelimit-remaining-minute")) || undefined,
remainingDay: Number(res.headers.get("x-ratelimit-remaining-day")) || undefined,
};
const data = await res.json().catch(() => ({}));
if (!res.ok) throw new PostmanAPIError(res.status, data?.error?.code, data?.error?.message);
return data.data ?? data;
}
/** Get all APIs */
getAllApIs(params: { "workspace"?: string; "since"?: string; "until"?: string; "createdBy"?: string; "updatedBy"?: string; "isPublic"?: string; "name"?: string; "summary"?: string; "description"?: string; "sort"?: string; "direction"?: string }): Promise<any> {
return this._request("GET", "/apis", { params });
}
/** Create API */
createApi(body: unknown, params: { "workspace"?: string }): Promise<any> {
return this._request("POST", "/apis", { body, params });
}
/** Single API */
singleApi(params: { "apiId": string }): Promise<any> {
return this._request("GET", "/apis/{apiId}", { params });
}
/** Update an API */
updateAnApi(body: unknown, params: { "apiId": string }): Promise<any> {
return this._request("PUT", "/apis/{apiId}", { body, params });
}
/** Delete an API */
deleteAnApi(params: { "apiId": string }): Promise<any> {
return this._request("DELETE", "/apis/{apiId}", { params });
}
/** Get All API Versions */
getAllApiVersions(params: { "apiId": string }): Promise<any> {
return this._request("GET", "/apis/{apiId}/versions", { params });
}
/** Create API Version */
createApiVersion(body: unknown, params: { "apiId": string }): Promise<any> {
return this._request("POST", "/apis/{apiId}/versions", { body, params });
}
/** Get an API Version */
getAnApiVersion(params: { "apiId": string; "apiVersionId": string }): Promise<any> {
return this._request("GET", "/apis/{apiId}/versions/{apiVersionId}", { params });
}
/** Update an API Version */
updateAnApiVersion(body: unknown, params: { "apiId": string; "apiVersionId": string }): Promise<any> {
return this._request("PUT", "/apis/{apiId}/versions/{apiVersionId}", { body, params });
}
/** Delete an API Version */
deleteAnApiVersion(params: { "apiId": string; "apiVersionId": string }): Promise<any> {
return this._request("DELETE", "/apis/{apiId}/versions/{apiVersionId}", { params });
}
/** Get contract test relations */
getContractTestRelations(params: { "apiId": string; "apiVersionId": string }): Promise<any> {
return this._request("GET", "/apis/{apiId}/versions/{apiVersionId}/contracttest", { params });
}
/** Get documentation relations */
getDocumentationRelations(params: { "apiId": string; "apiVersionId": string }): Promise<any> {
return this._request("GET", "/apis/{apiId}/versions/{apiVersionId}/documentation", { params });
}
/** Get environment relations */
getEnvironmentRelations(params: { "apiId": string; "apiVersionId": string }): Promise<any> {
return this._request("GET", "/apis/{apiId}/versions/{apiVersionId}/environment", { params });
}
/** Get integration test relations */
getIntegrationTestRelations(params: { "apiId": string; "apiVersionId": string }): Promise<any> {
return this._request("GET", "/apis/{apiId}/versions/{apiVersionId}/integrationtest", { params });
}
/** Get monitor relations */
getMonitorRelations(params: { "apiId": string; "apiVersionId": string }): Promise<any> {
return this._request("GET", "/apis/{apiId}/versions/{apiVersionId}/monitor", { params });
}
/** Get linked relations */
getLinkedRelations(params: { "apiId": string; "apiVersionId": string }): Promise<any> {
return this._request("GET", "/apis/{apiId}/versions/{apiVersionId}/relations", { params });
}
/** Create relations */
createRelations(body: unknown, params: { "apiId": string; "apiVersionId": string }): Promise<any> {
return this._request("POST", "/apis/{apiId}/versions/{apiVersionId}/relations", { body, params });
}
/** Create Schema */
createSchema(body: unknown, params: { "apiId": string; "apiVersionId": string }): Promise<any> {
return this._request("POST", "/apis/{apiId}/versions/{apiVersionId}/schemas", { body, params });
}
/** Get Schema */
getSchema(params: { "apiId": string; "apiVersionId": string; "schemaId": string }): Promise<any> {
return this._request("GET", "/apis/{apiId}/versions/{apiVersionId}/schemas/{schemaId}", { params });
}
/** Update Schema */
updateSchema(body: unknown, params: { "apiId": string; "apiVersionId": string; "schemaId": string }): Promise<any> {
return this._request("PUT", "/apis/{apiId}/versions/{apiVersionId}/schemas/{schemaId}", { body, params });
}
/** Create collection from schema */
createCollectionFromSchema(body: unknown, params: { "apiId": string; "apiVersionId": string; "schemaId": string; "workspace"?: string }): Promise<any> {
return this._request("POST", "/apis/{apiId}/versions/{apiVersionId}/schemas/{schemaId}/collections", { body, params });
}
/** Get test suite relations */
getTestSuiteRelations(params: { "apiId": string; "apiVersionId": string }): Promise<any> {
return this._request("GET", "/apis/{apiId}/versions/{apiVersionId}/testsuite", { params });
}
/** Sync relations with schema */
syncRelationsWithSchema(params: { "apiId": string; "apiVersionId": string; "entityType": string; "entityId": string }): Promise<any> {
return this._request("PUT", "/apis/{apiId}/versions/{apiVersionId}/{entityType}/{entityId}/syncWithSchema", { params });
}
/** All Collections */
allCollections(): Promise<any> {
return this._request("GET", "/collections", {});
}
/** Create Collection */
createCollection(body: unknown): Promise<any> {
return this._request("POST", "/collections", { body });
}
/** Create a Fork */
createAFork(body: unknown, params: { "collection_uid": string; "workspace"?: string }): Promise<any> {
return this._request("POST", "/collections/fork/{collection_uid}", { body, params });
}
/** Merge a Fork */
mergeAFork(body: unknown): Promise<any> {
return this._request("POST", "/collections/merge", { body });
}
/** Single Collection */
singleCollection(params: { "collection_uid": string }): Promise<any> {
return this._request("GET", "/collections/{collection_uid}", { params });
}
/** Update Collection */
updateCollection(body: unknown, params: { "collection_uid": string }): Promise<any> {
return this._request("PUT", "/collections/{collection_uid}", { body, params });
}
/** Delete Collection */
deleteCollection(params: { "collection_uid": string }): Promise<any> {
return this._request("DELETE", "/collections/{collection_uid}", { params });
}
/** All Environments */
allEnvironments(): Promise<any> {
return this._request("GET", "/environments", {});
}
/** Create Environment */
createEnvironment(body: unknown): Promise<any> {
return this._request("POST", "/environments", { body });
}
/** Single Environment */
singleEnvironment(params: { "environment_uid": string }): Promise<any> {
return this._request("GET", "/environments/{environment_uid}", { params });
}
/** Update Environment */
updateEnvironment(body: unknown, params: { "environment_uid": string }): Promise<any> {
return this._request("PUT", "/environments/{environment_uid}", { body, params });
}
/** Delete Environment */
deleteEnvironment(params: { "environment_uid": string }): Promise<any> {
return this._request("DELETE", "/environments/{environment_uid}", { params });
}
/** Import exported data */
importExportedData(): Promise<any> {
return this._request("POST", "/import/exported", { });
}
/** Import external API specification */
importExternalApiSpecification(body: unknown): Promise<any> {
return this._request("POST", "/import/openapi", { body });
}
/** API Key Owner */
apiKeyOwner(): Promise<any> {
return this._request("GET", "/me", {});
}
/** All Mocks */
allMocks(): Promise<any> {
return this._request("GET", "/mocks", {});
}
/** Create Mock */
createMock(body: unknown): Promise<any> {
return this._request("POST", "/mocks", { body });
}
/** Single Mock */
singleMock(params: { "mock_uid": string }): Promise<any> {
return this._request("GET", "/mocks/{mock_uid}", { params });
}
/** Update Mock */
updateMock(body: unknown, params: { "mock_uid": string }): Promise<any> {
return this._request("PUT", "/mocks/{mock_uid}", { body, params });
}
/** Delete Mock */
deleteMock(params: { "mock_uid": string }): Promise<any> {
return this._request("DELETE", "/mocks/{mock_uid}", { params });
}
/** Publish Mock */
publishMock(params: { "mock_uid": string }): Promise<any> {
return this._request("POST", "/mocks/{mock_uid}/publish", { params });
}
/** Unpublish Mock */
unpublishMock(params: { "mock_uid": string }): Promise<any> {
return this._request("DELETE", "/mocks/{mock_uid}/unpublish", { params });
}
/** All Monitors */
allMonitors(): Promise<any> {
return this._request("GET", "/monitors", {});
}
/** Create Monitor */
createMonitor(body: unknown): Promise<any> {
return this._request("POST", "/monitors", { body });
}
/** Single Monitor */
singleMonitor(params: { "monitor_uid": string }): Promise<any> {
return this._request("GET", "/monitors/{monitor_uid}", { params });
}
/** Update Monitor */
updateMonitor(body: unknown, params: { "monitor_uid": string }): Promise<any> {
return this._request("PUT", "/monitors/{monitor_uid}", { body, params });
}
/** Delete Monitor */
deleteMonitor(params: { "monitor_uid": string }): Promise<any> {
return this._request("DELETE", "/monitors/{monitor_uid}", { params });
}
/** Run a Monitor */
runAMonitor(params: { "monitor_uid": string }): Promise<any> {
return this._request("POST", "/monitors/{monitor_uid}/run", { params });
}
/** Create Webhook */
createWebhook(body: unknown, params: { "workspace"?: string }): Promise<any> {
return this._request("POST", "/webhooks", { body, params });
}
/** All workspaces */
allWorkspaces(): Promise<any> {
return this._request("GET", "/workspaces", {});
}
/** Create Workspace */
createWorkspace(body: unknown): Promise<any> {
return this._request("POST", "/workspaces", { body });
}
/** Single workspace */
singleWorkspace(params: { "workspace_id": string }): Promise<any> {
return this._request("GET", "/workspaces/{workspace_id}", { params });
}
/** Update Workspace */
updateWorkspace(body: unknown, params: { "workspace_id": string }): Promise<any> {
return this._request("PUT", "/workspaces/{workspace_id}", { body, params });
}
/** Delete Workspace */
deleteWorkspace(params: { "workspace_id": string }): Promise<any> {
return this._request("DELETE", "/workspaces/{workspace_id}", { params });
}
}
export default PostmanAPI;
No reviews yet. Be the first to rate this API.
Yes. Postman API uses apiKey authentication, so you bring your own key from the provider. You store it once on OmniStream and the proxy injects it into every call, so your code only ever sends your Omni key.
The Postman API allows you to programmatically access data stored in Postman account with ease. It exposes 57 endpoints over GET, POST, PUT, DELETE, including GET /apis, POST /apis, GET /apis/{apiId}.
Install the OmniStream SDK for your language and call Postman API through it. The client is generated from this API's OpenAPI spec, so parameters and responses are fully typed, and the same client also calls every other API in the marketplace.
You can start on the free plan. OmniStream charges for the unified SDK, key storage and proxy rather than for Postman API itself, and Postman API's own rate limits still apply to your provider key.
QuickChart: An API to generate charts and QR codes using QuickChart services.
Create API Version
Get an API Version
Update an API Version
Delete an API Version
Get contract test relations
Get documentation relations
Get environment relations
Get integration test relations
Get monitor relations
Get linked relations
Create relations
Create Schema
Get Schema
Update Schema
Create collection from schema
Get test suite relations
Sync relations with schema
All Collections
Create Collection
Create a Fork
Merge a Fork
Single Collection
Update Collection
Delete Collection
All Environments
Create Environment
Single Environment
Update Environment
Delete Environment
Import exported data
Import external API specification
API Key Owner
All Mocks
Create Mock
Single Mock
Update Mock
Delete Mock
Publish Mock
Unpublish Mock
All Monitors
Create Monitor
Single Monitor
Update Monitor
Delete Monitor
Run a Monitor
Create Webhook
All workspaces
Create Workspace
Single workspace
Update Workspace
Delete Workspace