Clarification about accounts and extensions

  • 1
  • Question
  • Updated 4 weeks ago
  • Answered
I want to get some clarification on account structure, and how it relates to data we get back from the RingCentral api. 

  1. Are there just two levels of account structure: Account-> Extensions (One main account identifier, and multiple extension identifiers underneath that)? Or, are there more levels?
  2. When performing the 3-legged OAuth sequence, we are getting back one identifier: when getting the token (https://platform.ringcentral.com/restapi/oauth/token), we get back "owner_id" among other things. Second, we make a call to extension endpoint (https://platform.ringcentral.com/restapi/v1.0/account/~/extension/~) to retrieve more account info. From this second call, we get back "id" and "account.id". Does "owner_id" == "id", or does "owner_id" == "account.id", or is "owner_id" a completely separate identifier from the other two?
  3. Does a service account have it's own identifier within the context of the api? I ask this question because I have created a service account for testing. But when I log in to our app integration with that service account, I am getting the same identifiers as my main Super User account (in the "owner_id", "id", and "account.id" fields).

My main goal here is to be able to distinguish between different accounts while maintaining their relationship to the parent account when logging into our app integration using both regular extensions as well as service accounts.
Photo of Matt Spinks

Matt Spinks

  • 500 Points 500 badge 2x thumb

Posted 1 month ago

  • 1
Photo of Anton Nikitin

Anton Nikitin, Official Rep

  • 2,674 Points 2k badge 2x thumb
Hi Matt,

1. Yes, there are two levels: account (company business entity) and extensions (real users or special non-user extension types). Both account IDs and extension IDs are globally unique, but the extension ID of a main account administrator is always the same as account ID.
2. When the API is accessed it is done on behalf of extension user. So OAuth token is issued for extension user, that's the reason why "owner_id" in this case is the same as "extensionId" (or just "id" if you call Extension Info API).
3. Can you clarify what is the "service account" in your case?
Photo of Matt Spinks

Matt Spinks

  • 500 Points 500 badge 2x thumb
Thank you Anton. I think this clears up my questions. For #3, I realize now that the "service account" was still just another extension. Some of my users call it a "service account". It's just an extension they set up strictly to be used with our app integration.