# Store

## Get all stores accessible to the current user

> Returns stores based on the caller's authorization level:\
> \
> \## Administrator Access\
> Global administrators see all stores in the tenant.\
> \
> \## Limited Access\
> Regular users see only stores they have \`Stores.Read\` permission for, as determined by:\
> \- JWT token claims\
> \- Tenant permission providers\
> \- Store-specific access controls\
> \## Use Cases\
> \- Store selector UI\
> \- Multi-location dashboards\
> \- Regional filtering

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Store"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"paths":{"/api/{tenantId}/stores":{"get":{"tags":["Store"],"summary":"Get all stores accessible to the current user","description":"Returns stores based on the caller's authorization level:\n\n## Administrator Access\nGlobal administrators see all stores in the tenant.\n\n## Limited Access\nRegular users see only stores they have `Stores.Read` permission for, as determined by:\n- JWT token claims\n- Tenant permission providers\n- Store-specific access controls\n## Use Cases\n- Store selector UI\n- Multi-location dashboards\n- Regional filtering","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Stores returned based on caller authorization.","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Store"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Store"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Store"}}}}},"401":{"description":"Caller not authenticated.","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"500":{"description":"Unexpected server error."}}}}},"components":{"schemas":{"Store":{"required":["displayName","storeId"],"type":"object","properties":{"storeId":{"type":"string"},"displayName":{"type":"string"},"availableLanguages":{"type":["null","array"],"items":{"type":"string"}},"additionalResources":{"type":["null","object"],"additionalProperties":{}},"additionalProperties":{"type":["null","object"],"additionalProperties":{}}},"additionalProperties":false},"ProblemDetails":{"type":"object","properties":{"type":{"type":["null","string"]},"title":{"type":["null","string"]},"status":{"type":["null","integer"],"format":"int32"},"detail":{"type":["null","string"]},"instance":{"type":["null","string"]}},"additionalProperties":{}},"HttpValidationProblemDetails":{"type":"object","allOf":[{"$ref":"#/components/schemas/ProblemDetails"}],"properties":{"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"additionalProperties":{}}}}}
```

## Get detailed information for a specific store

> Retrieves comprehensive store details including localized resources and custom properties.\
> \
> \## Authorization\
> Requires \`Stores.Read\` scope for the specified store.\
> \## Use Cases\
> \- Store detail pages\
> \- Location-based routing\
> \- Store-specific configuration

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Store"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"security":[{"admin-bearer":["ScopedAuthorizeRequirement"]},{"apiKey":["ScopedAuthorizeRequirement"]}],"components":{"securitySchemes":{"admin-bearer":{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://auth.neostore.cloud/authorize?audience=https://app.neostore.cloud/api/","scopes":{}}}},"apiKey":{"type":"apiKey","name":"X-API-KEY","in":"header"}},"schemas":{"Store":{"required":["displayName","storeId"],"type":"object","properties":{"storeId":{"type":"string"},"displayName":{"type":"string"},"availableLanguages":{"type":["null","array"],"items":{"type":"string"}},"additionalResources":{"type":["null","object"],"additionalProperties":{}},"additionalProperties":{"type":["null","object"],"additionalProperties":{}}},"additionalProperties":false},"ProblemDetails":{"type":"object","properties":{"type":{"type":["null","string"]},"title":{"type":["null","string"]},"status":{"type":["null","integer"],"format":"int32"},"detail":{"type":["null","string"]},"instance":{"type":["null","string"]}},"additionalProperties":{}},"HttpValidationProblemDetails":{"type":"object","allOf":[{"$ref":"#/components/schemas/ProblemDetails"}],"properties":{"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"additionalProperties":{}}}},"paths":{"/api/{tenantId}/stores/{storeId}":{"get":{"tags":["Store"],"summary":"Get detailed information for a specific store","description":"Retrieves comprehensive store details including localized resources and custom properties.\n\n## Authorization\nRequires `Stores.Read` scope for the specified store.\n## Use Cases\n- Store detail pages\n- Location-based routing\n- Store-specific configuration","parameters":[{"name":"storeId","in":"path","description":"The store identifier.","required":true,"schema":{"type":"string"}},{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Store found and returned.","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Store"}},"application/json":{"schema":{"$ref":"#/components/schemas/Store"}},"text/json":{"schema":{"$ref":"#/components/schemas/Store"}}}},"401":{"description":"Caller not authenticated.","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"403":{"description":"Caller not authorized for the store.","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"404":{"description":"Store not found.","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"500":{"description":"Unexpected server error."}}}}}}
```

## Get localized resources for a store

> Retrieves store-specific localized content from configured resource files.\
> \
> \## Resource Structure\
> Resources are organized hierarchically:\
> \`\`\`yaml\
> stores:\
> &#x20; store123:\
> &#x20;   welcomeMessage: "Welcome to our downtown location"\
> &#x20;   hours: "Mon-Fri 9AM-9PM"\
> \`\`\`\
> \
> \## Localization\
> \- Resources vary by language/culture\
> \- Configured via \`AdditionalLocaleFiles\` in tenant settings\
> \- Falls back gracefully when translations are missing\
> \
> \## Use Cases\
> \- Store-specific messaging\
> \- Location hours and contact info\
> \- Custom promotional content

````json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Store"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"paths":{"/api/{tenantId}/stores/{storeId}/additionalResources":{"get":{"tags":["Store"],"summary":"Get localized resources for a store","description":"Retrieves store-specific localized content from configured resource files.\n\n## Resource Structure\nResources are organized hierarchically:\n```yaml\nstores:\n  store123:\n    welcomeMessage: \"Welcome to our downtown location\"\n    hours: \"Mon-Fri 9AM-9PM\"\n```\n\n## Localization\n- Resources vary by language/culture\n- Configured via `AdditionalLocaleFiles` in tenant settings\n- Falls back gracefully when translations are missing\n\n## Use Cases\n- Store-specific messaging\n- Location hours and contact info\n- Custom promotional content","parameters":[{"name":"storeId","in":"path","description":"The store identifier.","required":true,"schema":{"type":"string"}},{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Localized resources returned.","content":{"text/plain":{"schema":{"type":"object","additionalProperties":{}}},"application/json":{"schema":{"type":"object","additionalProperties":{}}},"text/json":{"schema":{"type":"object","additionalProperties":{}}}}},"401":{"description":"Caller not authenticated.","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"403":{"description":"Caller not authorized for the store.","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"404":{"description":"Store not found.","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"500":{"description":"Unexpected server error."}}}}},"components":{"schemas":{"ProblemDetails":{"type":"object","properties":{"type":{"type":["null","string"]},"title":{"type":["null","string"]},"status":{"type":["null","integer"],"format":"int32"},"detail":{"type":["null","string"]},"instance":{"type":["null","string"]}},"additionalProperties":{}},"HttpValidationProblemDetails":{"type":"object","allOf":[{"$ref":"#/components/schemas/ProblemDetails"}],"properties":{"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"additionalProperties":{}}}}}
````

## Get all staff advisors for a store

> Returns the list of advisors (sales associates, staff members) assigned to a specific store location.\
> \
> \## Authorization\
> Requires \`Stores.Read\` scope for the specified store.\
> \## Use Cases\
> \- Staff selection in appointment booking\
> \- Associate assignment for customer service\
> \- Sales attribution and tracking\
> \- Employee directory

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Store"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"security":[{"admin-bearer":["ScopedAuthorizeRequirement"]},{"apiKey":["ScopedAuthorizeRequirement"]}],"components":{"securitySchemes":{"admin-bearer":{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://auth.neostore.cloud/authorize?audience=https://app.neostore.cloud/api/","scopes":{}}}},"apiKey":{"type":"apiKey","name":"X-API-KEY","in":"header"}},"schemas":{"Advisor":{"required":["advisorId","displayName"],"type":"object","properties":{"advisorId":{"type":"string"},"displayName":{"type":"string"}},"additionalProperties":false},"ProblemDetails":{"type":"object","properties":{"type":{"type":["null","string"]},"title":{"type":["null","string"]},"status":{"type":["null","integer"],"format":"int32"},"detail":{"type":["null","string"]},"instance":{"type":["null","string"]}},"additionalProperties":{}},"HttpValidationProblemDetails":{"type":"object","allOf":[{"$ref":"#/components/schemas/ProblemDetails"}],"properties":{"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"additionalProperties":{}}}},"paths":{"/api/{tenantId}/stores/{storeId}/advisors":{"get":{"tags":["Store"],"summary":"Get all staff advisors for a store","description":"Returns the list of advisors (sales associates, staff members) assigned to a specific store location.\n\n## Authorization\nRequires `Stores.Read` scope for the specified store.\n## Use Cases\n- Staff selection in appointment booking\n- Associate assignment for customer service\n- Sales attribution and tracking\n- Employee directory","parameters":[{"name":"storeId","in":"path","description":"The store identifier.","required":true,"schema":{"type":"string"}},{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Advisors returned.","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Advisor"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Advisor"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Advisor"}}}}},"401":{"description":"Caller not authenticated.","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"403":{"description":"Caller not authorized for the store.","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"404":{"description":"Store not found.","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"500":{"description":"Unexpected server error."}}}}}}
```
