This is an optional way to further scope a generated client library.
Element Detail
ownerDomain
public abstract java.lang.String ownerDomain
This is the domain name commonly associated with owner.
If, for instance, this is an API owned by NASA, then "nasa.gov" would be a reasonable choice
for domain name.
It does not necessarily need to be the same as the serving domain, though the latter will be
picked as a default if ownerDomain is not set.
Required for a specified namespace.
ownerName
public abstract java.lang.String ownerName
This is a canonical company name obeying the same rules as the canonical API name.
It obeys the exact capitalization a company would like to use to represent themselves.
If their name is really two dwords, they are separated by spaces.
E.g. "YouTube", "NASA" , "3Com", "Fox News".
Required for a specified namespace.
packagePath
public abstract java.lang.String packagePath
This is an optional way to further scope a generated client library.
It follows the same name rules for ownerName, with the restriction that words must be
alphanumeric.
This feature allows an enterprise to group one or more of their APIs from
different Endpoints instances together in a logical space more fine-grained than just their
domain name. If the package includes multiple words, each word will, when possible, be used as
an additional level in the scope of the package.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-28 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eApiNamespace\u003c/code\u003e annotation type is used to populate fields in Discovery for proper namespace generation in clients.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eownerDomain\u003c/code\u003e is a required element representing the domain name associated with the API owner, such as "nasa.gov" for a NASA-owned API.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eownerName\u003c/code\u003e is a required element specifying the canonical company name, following the same rules as the canonical API name, using correct capitalization, e.g., "YouTube" or "NASA".\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003epackagePath\u003c/code\u003e is an optional element used to further scope a generated client library, allowing for more fine-grained organization of APIs within a domain, with words that must be alphanumeric.\u003c/p\u003e\n"]]],[],null,["# ApiNamespace\n\ncom.google.api.server.spi.config\n\nAnnotation Type ApiNamespace\n----------------------------\n\n-\n\n *** ** * ** ***\n\n \u003cbr /\u003e\n\n ```\n @Retention(value=RUNTIME)\n @Target(value=TYPE)\n public @interface ApiNamespace\n ``` \nFields populated in Discovery in order to proper namespace generated clients. \n-\n -\n\n ### Required Element Summary\n\n \u003c!-- --\u003e\n\n -\n\n ### Optional Element Summary\n\n-\n -\n\n ### Element Detail\n\n\n -\n\n #### ownerDomain\n\n ```\n public abstract java.lang.String ownerDomain\n ``` \n This is the domain name commonly associated with owner. If, for instance, this is an API owned by NASA, then \"nasa.gov\" would be a reasonable choice for domain name. It does not necessarily need to be the same as the serving domain, though the latter will be picked as a default if `ownerDomain` is not set. Required for a specified namespace.\n\n \u003c!-- --\u003e\n\n -\n\n -\n\n #### ownerName\n\n ```\n public abstract java.lang.String ownerName\n ``` \n This is a canonical company name obeying the same rules as the canonical API name. It obeys the exact capitalization a company would like to use to represent themselves. If their name is really two dwords, they are separated by spaces. E.g. \"YouTube\", \"NASA\" , \"3Com\", \"Fox News\". Required for a specified namespace.\n\n \u003c!-- --\u003e\n\n -\n\n -\n\n #### packagePath\n\n ```\n public abstract java.lang.String packagePath\n ``` \n This is an optional way to further scope a generated client library. It follows the same name rules for ownerName, with the restriction that words must be alphanumeric. This feature allows an enterprise to group one or more of their APIs from different Endpoints instances together in a logical space more fine-grained than just their domain name. If the package includes multiple words, each word will, when possible, be used as an additional level in the scope of the package.\n\n Default:\n : \"\""]]