Use the ATRS API with Postman

Import the ATRS collection and environment, authenticate, then run and verify a test schedule.

Use Postman to connect to ATRS, authenticate and run an existing report schedule without writing application code.

Before you begin

You need:

  • A current Postman desktop app that supports pm.execution.skipRequest.
  • A reachable ATRS API. Follow Install and Configure the ATRS API if it is not set up.
  • An API client ID and secret, or ATRS user credentials.
  • A working report schedule with a destination you can use for testing.

Use HTTPS when sending credentials across a network. Send requests individually: running the whole collection can create, change, execute or delete resources.

1. Download and import the files

Download both files:

In Postman, select Import and choose the two saved JSON files. Open the ATRS Public REST API collection, then select ATRS Environment Template in the environment selector.

2. Set your environment values

Open the imported environment and enter local/private values:

VariableWhat to enter
atrs_base_urlYour API protocol, hostname and port, such as https://atrs.example.com:9001. Replace the example hostname. Do not add a trailing slash, /api or /v1.
atrs_client_idYour API client ID.
atrs_client_secretYour API client secret.
atrs_tokenLeave blank; the authentication script fills it.
atrs_schedule_idThe positive numeric ID of the intended test schedule.
atrs_schedule_typeUse report for this walkthrough.
atrs_execution_idLeave blank; the execution script fills it.

Keep credentials and tokens private. Remove secrets before exporting or sharing an environment. The collection supplies request URLs, bearer authentication and body scripts; you do not need to rebuild them.

3. Check connectivity

In the Service folder, open Ping the API service (GET /api/Service/Ping) and click Send.

Expect HTTP 200 with the JSON number 1. If it fails, resolve the base address, API service or network connection before continuing.

4. Obtain a token

In the OAuth2 folder, open Issue an OAuth2 client token (POST /api/OAuth2/token) and click Send.

The request uses your client ID and secret. On a valid response, its script saves access_token as atrs_token and records the returned expires_in lifetime. Confirm that the environment contains a token before continuing.

To sign in as an ATRS user instead, set the private values atrs_username and atrs_password, then send Login → Authenticate an ATRS user (POST /api/Login/token). Its script saves the returned token and ExpiryDateEpoch. A challenge or incomplete sign-in is not a usable token.

Tokens are not renewed automatically. Repeat authentication when the token expires. See Authentication and Token Management for details.

5. Check a protected request

In TableauAccount, open List Tableau accounts (GET /api/TableauAccount/GetAccounts) and click Send.

Expect HTTP 200 and a JSON array. An empty array can be valid; check configured Tableau access before resource discovery. For a 401 response, check the selected environment, token and expiry.

6. Run one test schedule

Confirm the schedule ID and test destination. In Schedule, open Queue a schedule asynchronously (POST /api/Schedule/ExecuteScheduleAsync).

The request script builds the body from your environment values and sends the schedule ID as a number. Leave the generated atrs_request_body_json variable in the request; do not create it as an environment input.

Click Send once. This can produce and deliver a report. The response script saves a nonempty ExecutionId as atrs_execution_id. Confirm that it was saved and keep this ID for monitoring.

If submission times out or no execution ID is returned, investigate schedule activity before sending again. A missing response does not prove that the schedule did not run.

7. Monitor the execution

In Schedule, open Get an execution status (GET /api/Schedule/GetExecutionStatus). The request uses the saved atrs_execution_id.

Click Send, then repeat this status request manually at five-second intervals for up to ten minutes. Keep the same execution ID throughout.

For Completed, inspect ResultJson. It is a JSON string; the script decodes it and checks for the boolean Result: true. A completed execution can still contain a failed result. Terminated, stale, missing or unfamiliar states need investigation.

At the deadline, or if the outcome is uncertain, retain the ID and follow Monitor, Recover, and Reconcile Executions. Do not automatically submit another execution.

8. Check the report and delivery

Open the actual report. Verify its contents and confirm delivery to the intended recipient or file path.

Check the generated reports and their destinations to confirm that rendering and delivery succeeded. Investigate missing or incorrect output before running the schedule again.

Use other requests

Read each request description and its reference link before sending it. Set the named input variables with IDs from your own ATRS installation. For schedule authoring, follow Create a Schedule from a Working Template and supply the complete intended settings.

For package creation, set atrs_package_create_json to the complete request JSON described in Create and Manage Report Packages or Create a Data-Driven Tableau Package. Use report for a single-report schedule and package with the package-level ID when executing a package.

See API Versions and Compatibility for compatibility checks.

Troubleshooting

SymptomWhat to check
Request is skippedRead the request description and Postman Console message, then set the required variables. Blocked review requests remain unavailable.
URL still uses the example hostnameSelect the imported environment and enter your real atrs_base_url.
401 responseCheck the selected environment and authenticate again if the token has expired.
Invalid JSONUse the supplied body script and valid JSON for any input that requires a complete definition.
Search does not filter as expectedSupply nonblank search keywords. Some GET searches require a body; use the POST single-schedule search when appropriate.

Did this page help you?