Workspace Tab

🌐 REST Explorer Guide

What It Does

The REST Explorer gives you a direct interface to Salesforce's REST APIs without leaving TrackForcePro. Build and execute HTTP requests (GET, POST, PATCH, PUT, DELETE) against any Salesforce endpoint. Set custom headers, compose request bodies, import requests from cURL, organize requests in collections, and chain requests together. Responses appear formatted and syntax-highlighted for easy reading.

Why Use It

REST Explorer streamlines Salesforce API work:

  • No External Tools — No need for Postman, Insomnia, curl, or terminal commands
  • Auto-Authentication — TrackForcePro automatically includes your org's access token and instance URL
  • Prototyping & Debugging — Test API endpoints, validate request/response structure, and debug integrations in real time
  • Collections & Reuse — Save frequently-used requests in collections for quick access later
  • Chain Requests — Extract values from one response and use them in the next request (e.g., get an ID, then use it in a PATCH)
  • Learning — Explore Salesforce's REST API schema without reading docs

How to Access

Open the TrackForcePro workspace popup and click the REST Explorer tab (🌐 icon). The request builder and response viewer are ready to use. Collections sidebar on the left shows saved requests.

Request Builder

The request builder has five main sections:

1. HTTP Method

Choose your HTTP method from the dropdown:

  • GET — Retrieve data. No request body needed.
  • POST — Create a new record or trigger an action. Requires a request body (JSON).
  • PATCH — Update an existing record. Include the fields to update in the body.
  • PUT — Replace an entire record. Requires a full request body.
  • DELETE — Delete a record. Usually no request body.

2. Endpoint URL

Enter your endpoint path relative to your Salesforce instance. TrackForcePro automatically prepends your instance URL and appends your access token, so you only need the path:

Examples:
/services/data/vXX.0/sobjects/
/services/data/vXX.0/sobjects/Account/describe
/services/data/vXX.0/sobjects/Account/001xx000...
/services/data/vXX.0/query/?q=SELECT+Id,Name+FROM+Account

3. Headers (Optional)

Add custom headers if needed. Common examples:

Content-Type: application/json
Accept: application/json

In most cases, TrackForcePro sets these automatically. Add custom headers for specialized endpoints or overrides.

4. Request Body

For POST, PATCH, and PUT requests, enter your request body as JSON. Example to create an Account:

{ "Name": "New Account Inc.", "BillingCity": "San Francisco", "BillingCountry": "USA" }

GET and DELETE requests typically don't need a body.

5. Send Button

Click Send to execute the request. TrackForcePro builds the full URL, adds auth, and sends the request. Response appears in the viewer below.

Collections

Save frequently-used requests in collections for quick reuse later.

Creating Collections

  1. Build a request in the Request Builder
  2. Click Save to Collection
  3. Choose an existing collection or create a new one
  4. Give the request a name (e.g., "Get Account by ID")
  5. Click Save

Using Collections

  • Click any saved request in the Collections sidebar to load it into the Request Builder
  • Edit the request (e.g., change the ID in the URL) and send
  • The Collection sidebar shows all saved requests grouped by collection
💡 Pro Tip: Create collections for different workflow categories: "Account Operations", "User Management", "Metadata Queries", etc. Makes navigation easier and keeps requests organized.

Chain Mode

Chain Mode lets you execute multiple requests in sequence, with each request using data from the previous response.

Example Workflow

  1. Request 1 (GET): Fetch account list
  2. Extract: Copy the first Account ID from response
  3. Request 2 (GET): Fetch that Account's details using the extracted ID
  4. Extract: Copy the Account's BillingCity
  5. Request 3 (PATCH): Update related Contact's City field with the extracted BillingCity

How to Chain Requests

  1. Execute your first request and view the response
  2. Click Extract Value to copy a specific field from the JSON response
  3. In the next request, click Use Previous Value to paste the extracted value into the URL or body
  4. Send the next request and repeat
Use Case: Testing a workflow where you create a record, get its ID from the response, and then update it with related data.

cURL Import

Import requests directly from cURL commands. Useful when copying curl examples from documentation or Stack Overflow.

How to Import cURL

  1. Click Import cURL in the REST Explorer
  2. Paste your cURL command into the modal
  3. TrackForcePro parses the command, extracts method, URL, headers, and body
  4. Click Import to load the request into the Request Builder

Example cURL Command

curl -X GET "https://instance.salesforce.com/services/data/v60.0/sobjects/Account" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"
Note: TrackForcePro replaces the Authorization header with your current session token automatically, so you don't need to include it in the cURL command.

Response Viewer

After you send a request, the response panel displays:

Component What It Shows
Status Code HTTP status (200 OK, 400 Bad Request, 404 Not Found, etc.)
Response Headers Metadata about the response (content type, rate limit info, cache, etc.)
Response Body The actual data, formatted as JSON with syntax highlighting and indentation
Collapsible Sections Nested objects can be expanded/collapsed for easier navigation
Copy & Export Copy response to clipboard or download as file

Common HTTP Status Codes

  • 200 OK — Request succeeded.
  • 201 Created — Resource created successfully.
  • 400 Bad Request — Invalid request format or missing required fields.
  • 401 Unauthorized — Authentication failed (token expired or invalid).
  • 403 Forbidden — You lack permission for this action.
  • 404 Not Found — Resource doesn't exist (wrong ID or endpoint).
  • 429 Too Many Requests — Rate limit exceeded. Wait before retrying.
  • 500 Server Error — Salesforce server error. Try again later.

Common Examples

Task Method Endpoint
List all SObjects GET /services/data/vXX.0/sobjects/
Get SObject metadata GET /services/data/vXX.0/sobjects/Account/describe
Fetch a record by ID GET /services/data/vXX.0/sobjects/Account/001xx000...
Create a new record POST /services/data/vXX.0/sobjects/Account
Update a record PATCH /services/data/vXX.0/sobjects/Account/001xx000...
Delete a record DELETE /services/data/vXX.0/sobjects/Account/001xx000...
Execute SOQL query GET /services/data/vXX.0/query/?q=SELECT+Id,Name+FROM+Account
Check org limits GET /services/data/vXX.0/limits/
Tooling API query GET /services/data/vXX.0/tooling/query/?q=SELECT+...

Note: Replace vXX.0 with your API version (e.g., v60.0 for Winter 2024).

Tips & Best Practices

  • Test on Sandboxes First — Use a sandbox org to test PATCH/PUT/POST/DELETE operations before running them on production.
  • Explore with GET First — Start with GET requests to understand the API response structure before attempting writes.
  • Check Rate Limits — Call /services/data/vXX.0/limits/ to see your remaining API call quota before bulk operations.
  • Format JSON Carefully — Invalid JSON in the request body will cause a 400 error. Use a JSON validator if unsure.
  • Use Describe Endpoints — Call /sobjects/{Object}/describe to see field names, types, and validation rules before creating/updating records.
  • Save Successful Requests — Use Collections to save working endpoints and request bodies for quick reference later.
  • Copy Response Values — Right-click in response JSON to copy specific values for use in the next request (especially useful with IDs).
  • Chain for Workflows — Use Chain Mode to automate multi-step workflows where each request depends on the previous response.
💡 Pro Tip: Keep your API version handy (e.g., v60.0, v61.0, etc.). Once you memorize a few key endpoints and save them in collections, the REST Explorer becomes your fastest integration testing tool.