upGrad Store Controller API
The store-controller API from upGrad — 2 operation(s) for store-controller.
The store-controller API from upGrad — 2 operation(s) for store-controller.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/upgrad-store-controller-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Partner Service Store Controller API
license:
name: Apache 2.0
url: https://upgrad.com
version: '1'
servers:
- url: https://partner.upgrad.com
description: Generated server url
security:
- AUTH-TOKEN: []
tags:
- name: store-controller
paths:
/store/{storeId}:
get:
tags:
- store-controller
operationId: getStoreDetail
parameters:
- name: storeId
in: path
required: true
schema:
type: integer
format: int64
- name: pageable
in: query
required: true
schema:
$ref: '#/components/schemas/Pageable'
- name: storeFilter
in: query
required: true
schema:
$ref: '#/components/schemas/StoreFilterDto'
responses:
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'409':
description: Conflict
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'503':
description: Service Unavailable
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResponseStoreDto'
summary: Get store detail
x-summary-source: derived
put:
tags:
- store-controller
operationId: updateStoreDetail
parameters:
- name: storeId
in: path
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StoreDto'
required: true
responses:
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'409':
description: Conflict
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'503':
description: Service Unavailable
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/StoreDto'
summary: Update store detail
x-summary-source: derived
delete:
tags:
- store-controller
operationId: deleteStoreDetail
parameters:
- name: storeId
in: path
required: true
schema:
type: integer
format: int64
responses:
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'409':
description: Conflict
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'503':
description: Service Unavailable
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'200':
description: OK
summary: Delete store detail
x-summary-source: derived
/store:
get:
tags:
- store-controller
operationId: getStoreList
parameters:
- name: pageable
in: query
required: true
schema:
$ref: '#/components/schemas/Pageable'
- name: predicate
in: query
required: true
schema:
$ref: '#/components/schemas/Predicate'
- name: storeFilter
in: query
required: true
schema:
$ref: '#/components/schemas/StoreFilterDto'
responses:
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'409':
description: Conflict
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'503':
description: Service Unavailable
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/PageResponseResponseStoreDto'
summary: Get store list
x-summary-source: derived
post:
tags:
- store-controller
operationId: saveStoreDetail
parameters:
- name: Authorization
in: header
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StoreDto'
required: true
responses:
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'409':
description: Conflict
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'503':
description: Service Unavailable
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'429':
description: Too Many Requests
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorContext'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/StoreDto'
summary: Save store detail
x-summary-source: derived
components:
schemas:
StoreDto:
type: object
properties:
id:
type: integer
format: int64
storeName:
type: string
address:
type: string
latitude:
type: string
longitude:
type: string
city:
type: string
state:
type: string
pinCode:
type: integer
format: int32
fullAddress:
type: string
landmark:
type: string
status:
type: integer
format: int32
userId:
type: integer
format: int64
managerId:
type: integer
format: int64
PageResponseResponseStoreDto:
type: object
properties:
total:
type: integer
format: int64
data:
type: array
items:
$ref: '#/components/schemas/ResponseStoreDto'
StoreFilterDto:
type: object
properties:
status:
type: string
userId:
type: integer
format: int64
teamMemberId:
type: integer
format: int64
teamMemberIds:
uniqueItems: true
type: array
items:
type: integer
format: int64
email:
type: string
mobile:
type: integer
format: int64
designation:
type: string
Predicate:
type: object
PageResponseTeamMemberResponseDto:
type: object
properties:
total:
type: integer
format: int64
data:
type: array
items:
$ref: '#/components/schemas/TeamMemberResponseDto'
ResponseStoreDto:
type: object
properties:
id:
type: integer
format: int64
storeName:
type: string
address:
type: string
latitude:
type: string
longitude:
type: string
city:
type: string
state:
type: string
pinCode:
type: integer
format: int32
fullAddress:
type: string
landmark:
type: string
status:
type: integer
format: int32
userId:
type: integer
format: int64
managerId:
type: integer
format: int64
storeTeams:
$ref: '#/components/schemas/PageResponseTeamMemberResponseDto'
extraInfo:
type: object
additionalProperties:
type: object
ErrorContext:
type: object
properties:
errorCode:
type: string
messages:
type: array
items:
type: string
data:
type: object
additionalProperties:
type: object
TeamMemberResponseDto:
type: object
properties:
id:
type: integer
format: int64
email:
type: string
mobile:
type: integer
format: int64
countryCode:
type: integer
format: int32
fullName:
type: string
role:
type: string
alternateEmail:
type: string
password:
type: string
permission:
type: string
teamMemberId:
type: integer
format: int64
userId:
type: integer
format: int64
designation:
type: string
addMemberAllowed:
type: boolean
lsqEmail:
type: string
status:
type: string
enum:
- Invited
- Registered
- Deactivated
degreeEmail:
type: string
managerDetail:
$ref: '#/components/schemas/MemberDto'
storeDetails:
type: array
items:
$ref: '#/components/schemas/StoreDto'
totalMember:
type: integer
format: int64
Pageable:
type: object
properties:
page:
minimum: 0
type: integer
format: int32
size:
minimum: 1
type: integer
format: int32
sort:
type: array
items:
type: string
MemberDto:
type: object
properties:
id:
type: integer
format: int64
email:
type: string
mobile:
type: integer
format: int64
countryCode:
type: integer
format: int32
fullName:
type: string
role:
type: string
alternateEmail:
type: string
password:
type: string
permission:
type: string
teamMemberId:
type: integer
format: int64
userId:
type: integer
format: int64
designation:
type: string
addMemberAllowed:
type: boolean
lsqEmail:
type: string
status:
type: string
enum:
- Invited
- Registered
- Deactivated
degreeEmail:
type: string
securitySchemes:
AUTH-TOKEN:
type: apiKey
name: AUTH-TOKEN
in: header