I found a different question asking, "Can I have a public APEX REST API?" which led to a blog post explaining how to setup a public site to expose a REST API:

  1. Create your REST API in Apex as normal
  2. Create a public site
  3. Configure the public user to have access to the Apex class and any other sObjects

I followed the directions and have a publicly available site, but when I do a GET to the URL the site returns a HTTP 503 error page. My understanding is that shouldn't even be routed through the VF handler.

Webservice code:

global class RestWebservice {

  global static String helloWorld(){
    return 'HelloWorld';


URL being queried: https://chale1-developer-edition.na14.force.com/services/apexrest/helloWorld

I have tried:

  • Turning on debug logs for the public site user, but that didn't help as no logs recorded the error.
  • Verified no redirects are configured
  • With and without a header for Accept: application/json
  • Tried on two different dev orgs, on different instances

Answers to questions:

  • I have not built any apps in this org, nor are there any installed packages, so there are no namespaces
  • Trying /services/apexrest/helloWord/blah returned the same response
  • Most of the raw response is just HTML. The headers have content-type of text/html, X-Powered-By: Salesforce.com ApexPages, P3P: CP="CUR OTR STA", cache-control, and nothing else of note

Eventually I would like to have a webhook use this API which is why it needs to be public. What else could cause the service to return a 503?

  • Can you inspect the raw response for an error? Also append /something to the service endpoint? Apr 24, 2014 at 19:03
  • do you happen to have a namespace on that org? (managed package)
    – pjcarly
    Apr 24, 2014 at 19:07
  • Questions answered and I filled in the URL just in case somebody wants to see the actual response.
    – Mike Chale
    Apr 24, 2014 at 19:14

2 Answers 2


You are using the wrong URL I think

Try this: https://chale1-developer-edition.na14.force.com/test/services/apexrest/helloWorld

EDIT - When I looked at the HTML that came back original URL in Postman, I saw this message:

https://chale1-developer-edition.na14.force.com/test</i> is down for maintenance

So I realized he must have used added a suffix to the Default Web Address in the Site called test. The REST URL includes the default suffix as part of the full URL, so I added that the URL he provided, and it worked...

  • 1
    Wow, that worked! Where did you get that from?
    – Mike Chale
    Apr 24, 2014 at 19:16
  • could you please explain why "test" should be needed? In the related article the service url shown has not the test you are refering Apr 24, 2014 at 19:18
  • 2
    'test' is only needed because he added a suffix to the Default Web Address - if you just create a site and leave that blank, the URL would be as described in the article Apr 24, 2014 at 19:25
  • 2
    Ah - it was almost namespaces :-)
    – metadaddy
    Apr 24, 2014 at 19:57
  • 1
    This saved my day today. Thank you Apr 16, 2020 at 8:38

If you have a managed package & your namespace name is 'devns' then try to add


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.