An open API service indexing awesome lists of open source software.

https://github.com/ultradns/postman

An official Postman collection for UltraDNS
https://github.com/ultradns/postman

digicert dns postman-collection sysadmin-tool ultradns

Last synced: 3 months ago
JSON representation

An official Postman collection for UltraDNS

Awesome Lists containing this project

README

          

# Postman

This repository serves as the source of truth for the UltraDNS API collections and environments in the public Postman workspace located at:

https://www.postman.com/digicertultradns/ultradns-public-workspace/overview

[Run In Postman](https://god.gw.postman.com/run-collection/45687334-2ac5cc11-192e-4604-900c-967a3f3b69c4?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D45687334-2ac5cc11-192e-4604-900c-967a3f3b69c4%26entityType%3Dcollection%26workspaceId%3D1370a94b-07b9-41f0-899a-0be768296142#?env%5BSample%20Environment%20v1.0.0%5D=W3sia2V5IjoidXNlcm5hbWUiLCJ2YWx1ZSI6IlVTRVJOQU1FIiwiZW5hYmxlZCI6dHJ1ZSwidHlwZSI6ImRlZmF1bHQiLCJzZXNzaW9uVmFsdWUiOiJVU0VSTkFNRSIsImNvbXBsZXRlU2Vzc2lvblZhbHVlIjoiVVNFUk5BTUUiLCJzZXNzaW9uSW5kZXgiOjB9LHsia2V5IjoicGFzc3dvcmQiLCJ2YWx1ZSI6IlBBU1NXT1JEIiwiZW5hYmxlZCI6dHJ1ZSwidHlwZSI6InNlY3JldCIsInNlc3Npb25WYWx1ZSI6IlBBU1NXT1JEIiwiY29tcGxldGVTZXNzaW9uVmFsdWUiOiJQQVNTV09SRCIsInNlc3Npb25JbmRleCI6MX0seyJrZXkiOiJhY2Nlc3NUb2tlbiIsInZhbHVlIjoiSEFTSCIsImVuYWJsZWQiOnRydWUsInR5cGUiOiJhbnkiLCJzZXNzaW9uVmFsdWUiOiJIQVNIIiwiY29tcGxldGVTZXNzaW9uVmFsdWUiOiJIQVNIIiwic2Vzc2lvbkluZGV4IjoyfSx7ImtleSI6InJlZnJlc2hUb2tlbiIsInZhbHVlIjoiSEFTSCIsImVuYWJsZWQiOnRydWUsInR5cGUiOiJhbnkiLCJzZXNzaW9uVmFsdWUiOiJIQVNIIiwiY29tcGxldGVTZXNzaW9uVmFsdWUiOiJIQVNIIiwic2Vzc2lvbkluZGV4IjozfSx7ImtleSI6InRva2VuVGltZXN0YW1wIiwidmFsdWUiOiJVTklYX1RJTUVTVEFNUCIsImVuYWJsZWQiOnRydWUsInR5cGUiOiJhbnkiLCJzZXNzaW9uVmFsdWUiOiJVTklYX1RJTUVTVEFNUCIsImNvbXBsZXRlU2Vzc2lvblZhbHVlIjoiVU5JWF9USU1FU1RBTVAiLCJzZXNzaW9uSW5kZXgiOjR9LHsia2V5IjoiY3VycmVudFRhc2siLCJ2YWx1ZSI6IkdVSUQiLCJlbmFibGVkIjp0cnVlLCJ0eXBlIjoiZGVmYXVsdCIsInNlc3Npb25WYWx1ZSI6IkdVSUQiLCJjb21wbGV0ZVNlc3Npb25WYWx1ZSI6IkdVSUQiLCJzZXNzaW9uSW5kZXgiOjV9LHsia2V5Ijoid2ViaG9va190ZWxlbWV0cnlJZCIsInZhbHVlIjoiR1VJRCIsImVuYWJsZWQiOnRydWUsInR5cGUiOiJkZWZhdWx0Iiwic2Vzc2lvblZhbHVlIjoiR1VJRCIsImNvbXBsZXRlU2Vzc2lvblZhbHVlIjoiR1VJRCIsInNlc3Npb25JbmRleCI6Nn0seyJrZXkiOiJ3ZWJob29rX2VuZHBvaW50VXJsIiwidmFsdWUiOiJodHRwczovL3d3dy5leGFtcGxlLmNvbSIsImVuYWJsZWQiOnRydWUsInR5cGUiOiJkZWZhdWx0Iiwic2Vzc2lvblZhbHVlIjoiaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20iLCJjb21wbGV0ZVNlc3Npb25WYWx1ZSI6Imh0dHBzOi8vd3d3LmV4YW1wbGUuY29tIiwic2Vzc2lvbkluZGV4Ijo3fSx7ImtleSI6InpvbmVzX3pvbmVOYW1lIiwidmFsdWUiOiJkb21haW4uY29tIiwiZW5hYmxlZCI6dHJ1ZSwidHlwZSI6ImRlZmF1bHQiLCJzZXNzaW9uVmFsdWUiOiJkb21haW4uY29tIiwiY29tcGxldGVTZXNzaW9uVmFsdWUiOiJkb21haW4uY29tIiwic2Vzc2lvbkluZGV4Ijo4fSx7ImtleSI6InJlcG9ydHNfc3RhcnREYXRlIiwidmFsdWUiOiJZWVlZLU1NLUREIiwiZW5hYmxlZCI6dHJ1ZSwidHlwZSI6ImRlZmF1bHQiLCJzZXNzaW9uVmFsdWUiOiJZWVlZLU1NLUREIiwiY29tcGxldGVTZXNzaW9uVmFsdWUiOiJZWVlZLU1NLUREIiwic2Vzc2lvbkluZGV4Ijo5fSx7ImtleSI6InJlcG9ydHNfZW5kRGF0ZSIsInZhbHVlIjoiWVlZWS1NTS1ERCIsImVuYWJsZWQiOnRydWUsInR5cGUiOiJkZWZhdWx0Iiwic2Vzc2lvblZhbHVlIjoiWVlZWS1NTS1ERCIsImNvbXBsZXRlU2Vzc2lvblZhbHVlIjoiWVlZWS1NTS1ERCIsInNlc3Npb25JbmRleCI6MTB9LHsia2V5IjoicmVwb3J0c19yZXF1ZXN0SWQiLCJ2YWx1ZSI6IkdVSUQiLCJlbmFibGVkIjp0cnVlLCJ0eXBlIjoiZGVmYXVsdCIsInNlc3Npb25WYWx1ZSI6IkdVSUQiLCJjb21wbGV0ZVNlc3Npb25WYWx1ZSI6IkdVSUQiLCJzZXNzaW9uSW5kZXgiOjExfSx7ImtleSI6InN1YmFjY291bnRzX2FjY291bnROYW1lIiwidmFsdWUiOiJTVFIiLCJlbmFibGVkIjp0cnVlLCJ0eXBlIjoiZGVmYXVsdCIsInNlc3Npb25WYWx1ZSI6IlNUUiIsImNvbXBsZXRlU2Vzc2lvblZhbHVlIjoiU1RSIiwic2Vzc2lvbkluZGV4IjoxMn0seyJrZXkiOiJzYl9yclR5cGUiLCJ2YWx1ZSI6IkEiLCJlbmFibGVkIjp0cnVlLCJ0eXBlIjoiZGVmYXVsdCIsInNlc3Npb25WYWx1ZSI6IkEiLCJjb21wbGV0ZVNlc3Npb25WYWx1ZSI6IkEiLCJzZXNzaW9uSW5kZXgiOjEzfSx7ImtleSI6InNiX293bmVyTmFtZSIsInZhbHVlIjoiU0lURUJBQ0tFUl9OQU1FIiwiZW5hYmxlZCI6dHJ1ZSwidHlwZSI6ImRlZmF1bHQiLCJzZXNzaW9uVmFsdWUiOiJTSVRFQkFDS0VSX05BTUUiLCJjb21wbGV0ZVNlc3Npb25WYWx1ZSI6IlNJVEVCQUNLRVJfTkFNRSIsInNlc3Npb25JbmRleCI6MTR9LHsia2V5IjoiZG5zc2VjX2V4dGtleV9rc2siLCJ2YWx1ZSI6IjxGTEFHUz4gPFBST1RPQ09MX1ZBTFVFPiA8QUxHT1JJVEhNPiA8QkFTRTY0X0VOQ09ERURfUFVCTElDX0tFWT4iLCJlbmFibGVkIjp0cnVlLCJ0eXBlIjoiZGVmYXVsdCIsInNlc3Npb25WYWx1ZSI6IjxGTEFHUz4gPFBST1RPQ09MX1ZBTFVFPiA8QUxHT1JJVEhNPiA8QkFTRTY0X0VOQ09ERURfUFVCTElDX0tFWT4iLCJjb21wbGV0ZVNlc3Npb25WYWx1ZSI6IjxGTEFHUz4gPFBST1RPQ09MX1ZBTFVFPiA8QUxHT1JJVEhNPiA8QkFTRTY0X0VOQ09ERURfUFVCTElDX0tFWT4iLCJzZXNzaW9uSW5kZXgiOjE1fSx7ImtleSI6ImRuc3NlY19leHRrZXlfenNrIiwidmFsdWUiOiI8RkxBR1M+IDxQUk9UT0NPTF9WQUxVRT4gPEFMR09SSVRITT4gPEJBU0U2NF9FTkNPREVEX1BVQkxJQ19LRVk+IiwiZW5hYmxlZCI6dHJ1ZSwidHlwZSI6ImRlZmF1bHQiLCJzZXNzaW9uVmFsdWUiOiI8RkxBR1M+IDxQUk9UT0NPTF9WQUxVRT4gPEFMR09SSVRITT4gPEJBU0U2NF9FTkNPREVEX1BVQkxJQ19LRVk+IiwiY29tcGxldGVTZXNzaW9uVmFsdWUiOiI8RkxBR1M+IDxQUk9UT0NPTF9WQUxVRT4gPEFMR09SSVRITT4gPEJBU0U2NF9FTkNPREVEX1BVQkxJQ19LRVk+Iiwic2Vzc2lvbkluZGV4IjoxNn0seyJrZXkiOiJkbnNzZWNfZG5za2V5X3R0bCIsInZhbHVlIjoiMTcyODAwIiwiZW5hYmxlZCI6dHJ1ZSwidHlwZSI6ImRlZmF1bHQiLCJzZXNzaW9uVmFsdWUiOiIxNzI4MDAiLCJjb21wbGV0ZVNlc3Npb25WYWx1ZSI6IjE3MjgwMCIsInNlc3Npb25JbmRleCI6MTd9LHsia2V5IjoiZG5zc2VjX3Jyc2lnX3ZhbGlkaXR5IiwidmFsdWUiOiIzMCIsImVuYWJsZWQiOnRydWUsInR5cGUiOiJkZWZhdWx0Iiwic2Vzc2lvblZhbHVlIjoiMzAiLCJjb21wbGV0ZVNlc3Npb25WYWx1ZSI6IjMwIiwic2Vzc2lvbkluZGV4IjoxOH0seyJrZXkiOiJyZWNvcmRzX3pvbmVOYW1lIiwidmFsdWUiOiJkb21haW4uY29tIiwiZW5hYmxlZCI6dHJ1ZSwidHlwZSI6ImRlZmF1bHQiLCJzZXNzaW9uVmFsdWUiOiJkb21haW4uY29tIiwiY29tcGxldGVTZXNzaW9uVmFsdWUiOiJkb21haW4uY29tIiwic2Vzc2lvbkluZGV4IjoxOX0seyJrZXkiOiJyZWNvcmRzX3R5cGUiLCJ2YWx1ZSI6IkEiLCJlbmFibGVkIjp0cnVlLCJ0eXBlIjoiZGVmYXVsdCIsInNlc3Npb25WYWx1ZSI6IkEiLCJjb21wbGV0ZVNlc3Npb25WYWx1ZSI6IkEiLCJzZXNzaW9uSW5kZXgiOjIwfSx7ImtleSI6InJlY29yZHNfb3duZXJOYW1lIiwidmFsdWUiOiI8T1dORVJfTkFNRT4iLCJlbmFibGVkIjp0cnVlLCJ0eXBlIjoiZGVmYXVsdCIsInNlc3Npb25WYWx1ZSI6IjxPV05FUl9OQU1FPiIsImNvbXBsZXRlU2Vzc2lvblZhbHVlIjoiPE9XTkVSX05BTUU+Iiwic2Vzc2lvbkluZGV4IjoyMX0seyJrZXkiOiJyZWNvcmRzX3BhcmFtX3N5c3RlbUdlbmVyYXRlZFN0YXR1cyIsInZhbHVlIjoiZmFsc2UiLCJlbmFibGVkIjp0cnVlLCJ0eXBlIjoiZGVmYXVsdCIsInNlc3Npb25WYWx1ZSI6ImZhbHNlIiwiY29tcGxldGVTZXNzaW9uVmFsdWUiOiJmYWxzZSIsInNlc3Npb25JbmRleCI6MjJ9LHsia2V5IjoicmVxdWVzdEJvZHkiLCJ2YWx1ZSI6IntcInR0bFwiOlwiMzAwXCIsXCJyZGF0YVwiOltcIjEuMS4xLjFcIl19IiwiZW5hYmxlZCI6dHJ1ZSwidHlwZSI6ImFueSIsInNlc3Npb25WYWx1ZSI6IntcInR0bFwiOlwiMzAwXCIsXCJyZGF0YVwiOltcIjEuMS4xLjFcIl19IiwiY29tcGxldGVTZXNzaW9uVmFsdWUiOiJ7XCJ0dGxcIjpcIjMwMFwiLFwicmRhdGFcIjpbXCIxLjEuMS4xXCJdfSIsInNlc3Npb25JbmRleCI6MjN9XQ==)

## Repository Structure

- `src/`: Contains the Postman collection and environment JSON files
- `scripts/`: Contains scripts used by workflows for validating and transforming collection JSON
- `spec/`: Contains the OpenAPI YAML specification, which is automatically generated from the Postman collection during releases

## Getting Started

To use these collections:

1. Visit our [public workspace](https://www.postman.com/digicertultradns/ultradns-public-workspace/overview)
2. Fork the collection to your own workspace
3. Create an environment and set up your credentials

Alternatively, you can import the files directly from this repository:

1. Go to **File** in Postman
2. Select **Import**
3. Drag the files from `src/` to the application

## Authentication and Utilities

The collection-level pre-request script manages authentication and provides helper functions.

Since `utils` is defined globally by not using a declaration keyword, it is accessible to request-level scripts. This allows for the definition of reusable functions for our requests. Utility functions can be invoked like so:

```javascript
utils.functionName()
```

### Username/Password

For the pre-request script to run, you must set `username` and `password` variables containing your UDNS credentials in an environment. UDNS uses OAuth2 to generate an access token. The access token and refresh token will also be stored in your environment along with a timestamp, so the script knows when to refresh.

## Resources

The collection is organized into folders, each representing a base resource (ex: `zones`) or a specific functionality (ex: `push notifications`).

- **Zones**: Contains the DNS configuration. Some resources are not available in the latest "version" of the API, hence why "snapshot/restore" use the "v1" endpoint.

- **Tasks**: Operations that produce background tasks will return a `202` status code and have an `x-task-id` header. This ID is stored under the `currentTask` variable in the environment.

- **Reports**: After you request a report, retrieve it from the `results` endpoint using the report ID. This ID is stored in the post-request script, similar to tasks.

- **Webhook**: A set of 3 requests related to UDNS's push notification feature.

- **Subaccounts**: APIs exclusive to accounts that contain child accounts. If you don't have access to this feature, they'll produce an error.

- **Records**: APIs for adding/updating/deleting RRsets for a zone. These APIs use RRset DTO definitions and pre-request/post-request scripts for managing environment variables and POST body content.

## Bypassing Automated Authentication

To manually provide your Bearer token, go to the "Authorization" tab of the collection and modify the value. This would be necessary, as an example, to use a token produced by the subaccount authorization endpoint. Remember to revert it to the `{{accessToken}}` variable after you're done.

## Contributing

We welcome contributions to expand the collection and implement more endpoints. Please see our [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines on how to contribute to this project.

## License

This repo is distributed under the MIT license.