Help
Troubleshooting
Diagnose common problems with projects, endpoint URLs, HTTP methods, JSON responses, request protection, usage limits, account access and subscription updates.
Check the final response status
Quick diagnostic checklist
Check these items before changing your project or endpoint configuration.
- 1
Confirm that you copied the complete endpoint URL from the correct project.
- 2
Confirm that the HTTP method matches the method configured on the endpoint.
- 3
Confirm that the endpoint is active.
- 4
Confirm that the project and account are active.
- 5
Include every required project and endpoint request header.
- 6
Check whether the monthly request allowance has been exhausted.
- 7
Test the same request using cURL or Postman to separate frontend problems from endpoint problems.
Endpoint returns 404
A 404 response normally means Forge API could not resolve an active endpoint for the requested project key, path and method.
Check the URL structure:
https://apis.getforgeapi.com/abc12/productsIncorrect project key
The URL may contain an example key, an old key or a key copied from another project.
Incorrect path
The requested path may contain a typo, missing segment or unexpected trailing text.
Endpoint is inactive
The endpoint still exists in the dashboard but is not available to public callers.
Wrong HTTP method
The path may exist for GET while the client is sending POST, or the reverse.
Endpoint was deleted
Deleted endpoints are no longer available at their previous public URLs.
Project was deleted
Deleting the project removes access to every endpoint that belonged to it.
Test GET endpoints in the browser
Request uses the wrong HTTP method
Forge API matches the endpoint path and method together.
These are different endpoint definitions:
GET /products
POST /products
DELETE /productsIf the endpoint is configured as POST /login, opening the URL in a browser sends a GET request and will not match the POST endpoint.
Use an API client for non-GET methods
Invalid JSON
Forge API requires valid JSON before an endpoint response can be saved.
Common JSON mistakes include:
- Missing commas between fields
- Trailing commas after the final item
- Single quotes instead of double quotes
- Unquoted property names
- Unclosed arrays or objects
- JavaScript values such as undefined or NaN
Invalid example:
{
"name": "Polo Shirt",
"price": 10,
}Corrected example:
{
"name": "Polo Shirt",
"price": 10
}Use the formatter
Required request header is missing
Protected endpoints reject requests that do not include every configured header and value.
Send the exact header name and secret value configured in the dashboard:
curl \
-H "x-api-key: your-secret-value" \
https://apis.getforgeapi.com/abc12/productsCheck for:
- An incorrect header name
- An incorrect secret value
- Leading or trailing whitespace
- A header added to the wrong request
- A project-level header that was included while an endpoint-level header was omitted
All required headers must match
Do not publish secret values
Endpoint changes are not appearing
Confirm that the correct endpoint was saved and that the client is calling the expected URL.
Try these steps:
- 1
Reopen the endpoint and confirm that the updated JSON is visible in the editor.
- 2
Confirm that the save action completed without an error message.
- 3
Copy the public URL again from the endpoint or project page.
- 4
Test the URL directly using cURL or a private browser window.
- 5
Confirm that your application is not using an older environment variable or hardcoded URL.
- 6
Check whether the application is displaying previously cached data from its own state-management or request library.
Log the complete requested URL
Browser reports a CORS error
Public Forge API endpoints include CORS headers, but browser errors can still be caused by the request configuration or an earlier failure.
Check:
- The complete endpoint URL is correct
- The endpoint exists and is active
- The method is supported by that endpoint
- Required request headers are included
- The browser is not blocking mixed HTTP and HTTPS content
- The request is going directly to Forge API rather than through a failing local proxy
Inspect the network request
Response body cannot be parsed
A client may fail when it assumes every response contains JSON.
Before calling response.json(), check the status code and whether the response is expected to have a body.
const response = await fetch(
"https://apis.getforgeapi.com/abc12/products"
);
if (!response.ok) {
const errorBody = await response.text();
console.error({
status: response.status,
statusText: response.statusText,
body: errorBody,
});
throw new Error(
`Forge API request failed with status ${response.status}`
);
}
const data = await response.json();
console.log(data);204 responses have no body
response.json().Response delay feels incorrect
A configured delay is approximate and is added to normal network and execution time.
For example, a 1,500 millisecond delay does not guarantee that the complete request finishes in exactly 1.5 seconds. The total time also includes:
- Client network latency
- DNS and TLS connection time
- Forge API request processing
- Browser or application processing
Plan limits apply
Cannot create another project
The account may have reached its project allowance or may not be allowed to create resources.
Review the dashboard and check:
- The current project count
- The maximum projects allowed by the active plan
- The account status
- Whether paid access has ended
Cannot create another endpoint
The project may have reached its endpoint allowance.
The Free plan limits endpoints per project. Paid plans may provide unlimited endpoints per project, subject to other account limits.
You can:
- Delete an unused endpoint
- Reuse and edit an existing endpoint
- Upgrade to a plan with a higher allowance
Monthly request limit reached
Public requests may be rejected after the account uses its monthly allowance.
Open the Usage page and compare:
- Requests used in the current period
- The active plan’s request allowance
- The usage period start and end dates
Access returns when the usage period resets or the account upgrades to a plan with a larger allowance.
Watch automated polling
Response exceeds the size limit
Each plan limits the amount of JSON stored in one endpoint response.
Reduce the response size by:
- Removing repeated fields
- Reducing the number of sample records
- Using shorter placeholder strings
- Splitting one large response across several endpoints
- Upgrading to a plan with a larger response limit
Use representative data
Account is paused
Paused accounts are blocked from protected product actions while retaining access to support routes.
When an account is paused:
- Dashboard access may redirect to the paused-account page
- New projects and endpoints cannot be created
- Protected server actions reject the account
- The contact page remains available for support
Do not create a second account
Sign-in redirects unexpectedly
Authentication redirects usually indicate a missing or expired session.
Try:
- 1
Sign out and sign in again.
- 2
Confirm that the browser allows cookies for Forge API.
- 3
Try a private browsing window.
- 4
Confirm that you are using the correct Forge API domain and environment.
- 5
Use the password-reset flow when the password is no longer known.
Payment succeeded but the plan did not update
Stripe Checkout may complete before the subscription update appears in Forge API.
Check:
- You returned to Forge API using the successful Checkout flow
- The Billing page after waiting briefly
- The subscription status in Stripe
- Recent Stripe webhook deliveries
- Whether webhook deliveries returned a successful response
Refresh the Billing page
Do not pay twice
Cancellation is not showing
The Forge API Billing page depends on the latest Stripe subscription state.
After scheduling cancellation:
- 1
Return from the Stripe Customer Portal to Forge API.
- 2
Refresh the Billing page.
- 3
Confirm that Stripe shows a cancellation date rather than an immediate cancellation.
- 4
Review recent webhook deliveries when the local state remains unchanged.
Access continues until period end
Unexpected currency
Forge API displays GBP to UK visitors and USD to visitors elsewhere.
If the displayed currency looks incorrect:
- Disable any VPN or proxy and reload the page
- Confirm the deployment is receiving country information
- Confirm that pricing, Checkout and subscription-status routes use the same currency helper
- Confirm that both GBP and USD Stripe Price IDs are configured in the deployment environment
Pricing is fixed by region
Works locally but not on Preview or Production
Differences between environments are commonly caused by environment variables, authentication protection or deployment configuration.
Review:
- Supabase URL and publishable-key values in the affected environment
- Stripe secret, webhook and Price ID variables
- Vercel deployment protection settings
- Which Git branch the deployment was built from
- The domain assigned to the current deployment
- Recent build and function logs
Preview protection can intercept API requests
Testing with cURL
cURL helps reveal the final status, headers and response body without frontend application behaviour.
curl -i https://apis.getforgeapi.com/abc12/productsFor a protected endpoint:
curl \
-H "x-api-key: your-secret-value" \
https://apis.getforgeapi.com/abc12/productsFor a POST endpoint:
curl -i \
-X POST \
https://apis.getforgeapi.com/abc12/loginInformation to include when contacting support
Clear diagnostic information helps Forge API support investigate the problem more quickly.
- The email address associated with the account
- The affected project name
- The endpoint method and path
- The final HTTP status code
- The response body or error message
- The approximate time the problem occurred
- The environment: localhost, Preview or Production
- Steps required to reproduce the issue
Remove sensitive information
Couldn’t resolve the problem?
Contact Forge API with the request URL, method, status code, environment and exact steps required to reproduce the issue.