How can I determine if the org that I'm currently connected to is a scratch org?Apex email extension points - How to replace Messaging.sendEmail or change it's behaviourHow can a Sandbox spin unwanted on a prerelease pod and how to undo it?Workaround for SELECT * (SELECT all) in sfdx force:data:tree:export SOQLCan .forceignore be used to not pull profiles that only exist in the scratch org?Salesforce DX: How to pre-populate scratch orgs with custom objects?Salesforcef DX: How to create a scratch org that opens in Classic by default?Where & how to find out what can be automized on SFDX scratch org creationError creating Scratch Org - The Streaming request failed to handshakeHow to delete Scratch Org user from deleted scratch?Scratch org: how to retrieve metadata

Should I tell management that I intend to leave due to bad software development practices?

Bullying boss launched a smear campaign and made me unemployable

Ambiguity in the definition of entropy

Detention in 1997

Is there a hemisphere-neutral way of specifying a season?

If human space travel is limited by the G force vulnerability, is there a way to counter G forces?

What method can I use to design a dungeon difficult enough that the PCs can't make it through without killing them?

How can saying a song's name be a copyright violation?

Forgetting the musical notes while performing in concert

One verb to replace 'be a member of' a club

How to tell a function to use the default argument values?

Zip/Tar file compressed to larger size?

How much of data wrangling is a data scientist's job?

Is "remove commented out code" correct English?

How do I gain back my faith in my PhD degree?

Venezuelan girlfriend wants to travel the USA to be with me. What is the process?

Alternative to sending password over mail?

Avoiding direct proof while writing proof by induction

Am I breaking OOP practice with this architecture?

Is it inappropriate for a student to attend their mentor's dissertation defense?

Arrow those variables!

Is it logically or scientifically possible to artificially send energy to the body?

iPad being using in wall mount battery swollen

Reverse dictionary where values are lists



How can I determine if the org that I'm currently connected to is a scratch org?


Apex email extension points - How to replace Messaging.sendEmail or change it's behaviourHow can a Sandbox spin unwanted on a prerelease pod and how to undo it?Workaround for SELECT * (SELECT all) in sfdx force:data:tree:export SOQLCan .forceignore be used to not pull profiles that only exist in the scratch org?Salesforce DX: How to pre-populate scratch orgs with custom objects?Salesforcef DX: How to create a scratch org that opens in Classic by default?Where & how to find out what can be automized on SFDX scratch org creationError creating Scratch Org - The Streaming request failed to handshakeHow to delete Scratch Org user from deleted scratch?Scratch org: how to retrieve metadata













5















When I'm within a Salesforce org, how can I tell if that org is a Scratch Org or not?



Ideally this would be via Apex, but it could be an API call if required.



This would be useful information for the creator of a managed package who may not otherwise know what type of org is running the code.




I've had a couple of thoughts on how this might be achieved:



  1. Check if the pod/instance that Scratch orgs are created on are separate from the general population of sandbox orgs. I suspect that scratch orgs have dedicated hardware. E.g. a new scratch org I just created is on p0/CS31.

  2. Look for describe Metadata that is unique to only scratch orgs.









share|improve this question
























  • Full disclosure, this question has been discussed in the GoodDaySir slack channel. For posterity, it would be useful to have a solution listed in the open. gooddaysir.slack.com/messages/C3BJMEH3J/convo/…

    – Daniel Ballinger
    1 hour ago












  • Can you see the relevant ActiveScratchOrg or ScratchOrgInfo from within one?

    – Adrian Larson
    1 hour ago












  • @AdrianLarson Those are in the DevHub, aren't they? I don't think they would be reachable from the Scratch org itself in isolation.

    – Daniel Ballinger
    1 hour ago















5















When I'm within a Salesforce org, how can I tell if that org is a Scratch Org or not?



Ideally this would be via Apex, but it could be an API call if required.



This would be useful information for the creator of a managed package who may not otherwise know what type of org is running the code.




I've had a couple of thoughts on how this might be achieved:



  1. Check if the pod/instance that Scratch orgs are created on are separate from the general population of sandbox orgs. I suspect that scratch orgs have dedicated hardware. E.g. a new scratch org I just created is on p0/CS31.

  2. Look for describe Metadata that is unique to only scratch orgs.









share|improve this question
























  • Full disclosure, this question has been discussed in the GoodDaySir slack channel. For posterity, it would be useful to have a solution listed in the open. gooddaysir.slack.com/messages/C3BJMEH3J/convo/…

    – Daniel Ballinger
    1 hour ago












  • Can you see the relevant ActiveScratchOrg or ScratchOrgInfo from within one?

    – Adrian Larson
    1 hour ago












  • @AdrianLarson Those are in the DevHub, aren't they? I don't think they would be reachable from the Scratch org itself in isolation.

    – Daniel Ballinger
    1 hour ago













5












5








5








When I'm within a Salesforce org, how can I tell if that org is a Scratch Org or not?



Ideally this would be via Apex, but it could be an API call if required.



This would be useful information for the creator of a managed package who may not otherwise know what type of org is running the code.




I've had a couple of thoughts on how this might be achieved:



  1. Check if the pod/instance that Scratch orgs are created on are separate from the general population of sandbox orgs. I suspect that scratch orgs have dedicated hardware. E.g. a new scratch org I just created is on p0/CS31.

  2. Look for describe Metadata that is unique to only scratch orgs.









share|improve this question
















When I'm within a Salesforce org, how can I tell if that org is a Scratch Org or not?



Ideally this would be via Apex, but it could be an API call if required.



This would be useful information for the creator of a managed package who may not otherwise know what type of org is running the code.




I've had a couple of thoughts on how this might be achieved:



  1. Check if the pod/instance that Scratch orgs are created on are separate from the general population of sandbox orgs. I suspect that scratch orgs have dedicated hardware. E.g. a new scratch org I just created is on p0/CS31.

  2. Look for describe Metadata that is unique to only scratch orgs.






apex scratch-org






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 1 hour ago







Daniel Ballinger

















asked 1 hour ago









Daniel BallingerDaniel Ballinger

74.3k15154405




74.3k15154405












  • Full disclosure, this question has been discussed in the GoodDaySir slack channel. For posterity, it would be useful to have a solution listed in the open. gooddaysir.slack.com/messages/C3BJMEH3J/convo/…

    – Daniel Ballinger
    1 hour ago












  • Can you see the relevant ActiveScratchOrg or ScratchOrgInfo from within one?

    – Adrian Larson
    1 hour ago












  • @AdrianLarson Those are in the DevHub, aren't they? I don't think they would be reachable from the Scratch org itself in isolation.

    – Daniel Ballinger
    1 hour ago

















  • Full disclosure, this question has been discussed in the GoodDaySir slack channel. For posterity, it would be useful to have a solution listed in the open. gooddaysir.slack.com/messages/C3BJMEH3J/convo/…

    – Daniel Ballinger
    1 hour ago












  • Can you see the relevant ActiveScratchOrg or ScratchOrgInfo from within one?

    – Adrian Larson
    1 hour ago












  • @AdrianLarson Those are in the DevHub, aren't they? I don't think they would be reachable from the Scratch org itself in isolation.

    – Daniel Ballinger
    1 hour ago
















Full disclosure, this question has been discussed in the GoodDaySir slack channel. For posterity, it would be useful to have a solution listed in the open. gooddaysir.slack.com/messages/C3BJMEH3J/convo/…

– Daniel Ballinger
1 hour ago






Full disclosure, this question has been discussed in the GoodDaySir slack channel. For posterity, it would be useful to have a solution listed in the open. gooddaysir.slack.com/messages/C3BJMEH3J/convo/…

– Daniel Ballinger
1 hour ago














Can you see the relevant ActiveScratchOrg or ScratchOrgInfo from within one?

– Adrian Larson
1 hour ago






Can you see the relevant ActiveScratchOrg or ScratchOrgInfo from within one?

– Adrian Larson
1 hour ago














@AdrianLarson Those are in the DevHub, aren't they? I don't think they would be reachable from the Scratch org itself in isolation.

– Daniel Ballinger
1 hour ago





@AdrianLarson Those are in the DevHub, aren't they? I don't think they would be reachable from the Scratch org itself in isolation.

– Daniel Ballinger
1 hour ago










1 Answer
1






active

oldest

votes


















5














The SourceMember sObject is only present in scratch orgs. Its presence would be a sign that you are in a scratch org. The gotcha would be that it is only accessible via the Tooling API and not Apex alone.



https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sourcemember.htm






share|improve this answer























  • This seems like a great solution and shouldn't be too difficult with an HTTP request from Apex. Especially since we don't need the Remote Site setting anymore.

    – Daniel Ballinger
    1 hour ago











Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "459"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f256499%2fhow-can-i-determine-if-the-org-that-im-currently-connected-to-is-a-scratch-org%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









5














The SourceMember sObject is only present in scratch orgs. Its presence would be a sign that you are in a scratch org. The gotcha would be that it is only accessible via the Tooling API and not Apex alone.



https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sourcemember.htm






share|improve this answer























  • This seems like a great solution and shouldn't be too difficult with an HTTP request from Apex. Especially since we don't need the Remote Site setting anymore.

    – Daniel Ballinger
    1 hour ago















5














The SourceMember sObject is only present in scratch orgs. Its presence would be a sign that you are in a scratch org. The gotcha would be that it is only accessible via the Tooling API and not Apex alone.



https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sourcemember.htm






share|improve this answer























  • This seems like a great solution and shouldn't be too difficult with an HTTP request from Apex. Especially since we don't need the Remote Site setting anymore.

    – Daniel Ballinger
    1 hour ago













5












5








5







The SourceMember sObject is only present in scratch orgs. Its presence would be a sign that you are in a scratch org. The gotcha would be that it is only accessible via the Tooling API and not Apex alone.



https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sourcemember.htm






share|improve this answer













The SourceMember sObject is only present in scratch orgs. Its presence would be a sign that you are in a scratch org. The gotcha would be that it is only accessible via the Tooling API and not Apex alone.



https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sourcemember.htm







share|improve this answer












share|improve this answer



share|improve this answer










answered 1 hour ago









HeberHeber

16317




16317












  • This seems like a great solution and shouldn't be too difficult with an HTTP request from Apex. Especially since we don't need the Remote Site setting anymore.

    – Daniel Ballinger
    1 hour ago

















  • This seems like a great solution and shouldn't be too difficult with an HTTP request from Apex. Especially since we don't need the Remote Site setting anymore.

    – Daniel Ballinger
    1 hour ago
















This seems like a great solution and shouldn't be too difficult with an HTTP request from Apex. Especially since we don't need the Remote Site setting anymore.

– Daniel Ballinger
1 hour ago





This seems like a great solution and shouldn't be too difficult with an HTTP request from Apex. Especially since we don't need the Remote Site setting anymore.

– Daniel Ballinger
1 hour ago

















draft saved

draft discarded
















































Thanks for contributing an answer to Salesforce Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f256499%2fhow-can-i-determine-if-the-org-that-im-currently-connected-to-is-a-scratch-org%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Are there any AGPL-style licences that require source code modifications to be public? Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Force derivative works to be publicAre there any GPL like licenses for Apple App Store?Do you violate the GPL if you provide source code that cannot be compiled?GPL - is it distribution to use libraries in an appliance loaned to customers?Distributing App for free which uses GPL'ed codeModifications of server software under GPL, with web/CLI interfaceDoes using an AGPLv3-licensed library prevent me from dual-licensing my own source code?Can I publish only select code under GPLv3 from a private project?Is there published precedent regarding the scope of covered work that uses AGPL software?If MIT licensed code links to GPL licensed code what should be the license of the resulting binary program?If I use a public API endpoint that has its source code licensed under AGPL in my app, do I need to disclose my source?

2013 GY136 Descoberta | Órbita | Referências Menu de navegação«List Of Centaurs and Scattered-Disk Objects»«List of Known Trans-Neptunian Objects»

Metrô de Los Teques Índice Linhas | Estações | Ver também | Referências Ligações externas | Menu de navegação«INSTITUCIÓN»«Mapa de rutas»originalMetrô de Los TequesC.A. Metro Los Teques |Alcaldía de Guaicaipuro – Sitio OficialGobernacion de Mirandaeeeeeee