openapi: 3.2.0 info: version: storefront-v1 title: Storefront API V1 Accounts API servers: - url: https://dogfood.commerce.insitesandbox.com security: [] tags: - name: Accounts paths: /api/v1/accounts/{accountId}/shiptos: patch: tags: - Accounts operationId: AccountShipTosV1_Patch parameters: - name: accountId in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountShipToCollectionModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountShipToCollectionModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountShipToCollectionModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountShipToCollectionModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountShipToCollectionModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountShipToCollectionModel' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountShipToCollectionModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountShipToCollectionModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountShipToCollectionModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountShipToCollectionModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountShipToCollectionModel' security: - access_token: [] /api/v1/accounts: get: tags: - Accounts operationId: AccountsV1_GetCollectionAsync parameters: - name: parameter.expand in: query required: false schema: type: string - name: parameter.searchText in: query required: false schema: type: string - name: parameter.startPage in: query required: false schema: type: integer format: int32 - name: parameter.page in: query required: false schema: type: integer format: int32 - name: parameter.pageSize in: query required: false schema: type: integer format: int32 - name: parameter.sort in: query required: false schema: type: string - name: parameter.roles in: query required: false explode: true schema: type: array items: type: string - name: parameter.excludeRoles in: query required: false explode: true schema: type: array items: type: string - name: parameter.userNames in: query required: false explode: true schema: type: array items: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountCollectionModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountCollectionModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountCollectionModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountCollectionModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountCollectionModel' security: - access_token: [] post: tags: - Accounts operationId: AccountsV1_PostAsync requestBody: $ref: '#/components/requestBodies/Insite.Account.WebApi.V1.ApiModels.AccountModel' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' /api/v1/accounts/{accountId}: get: tags: - Accounts operationId: AccountsV1_GetAsync parameters: - name: accountId in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' security: - access_token: [] patch: tags: - Accounts operationId: AccountsV1_PatchAsync parameters: - name: accountId in: path required: true schema: type: string requestBody: $ref: '#/components/requestBodies/Insite.Account.WebApi.V1.ApiModels.AccountModel' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' security: - access_token: [] /api/v1/accounts/vmi/import: post: tags: - Accounts operationId: AccountsV1_PostVmiAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserImportCollectionModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserImportCollectionModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserImportCollectionModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserImportCollectionModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserImportCollectionModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserImportCollectionModel' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserImportCollectionModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserImportCollectionModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserImportCollectionModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserImportCollectionModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserImportCollectionModel' security: - access_token: [] /api/v1/accounts/vmi/{vmiUserId}: patch: tags: - Accounts operationId: AccountsV1_PatchVmiAsync parameters: - name: vmiUserId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserModel' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserModel' security: - access_token: [] /api/v1/accounts/current/paymentprofiles: get: tags: - Accounts operationId: AccountPaymentProfilesV1_GetCollectionAsync parameters: - name: parameter.page in: query required: false schema: type: integer format: int32 - name: parameter.pageSize in: query required: false schema: type: integer format: int32 - name: parameter.sort in: query required: false schema: type: string - name: parameter.query in: query required: false schema: type: string - name: parameter.expand in: query required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileCollectionModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileCollectionModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileCollectionModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileCollectionModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileCollectionModel' security: - access_token: [] post: tags: - Accounts operationId: AccountPaymentProfilesV1_PostAsync requestBody: $ref: '#/components/requestBodies/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' security: - access_token: [] /api/v1/accounts/current/paymentprofiles/{AccountPaymentProfileId}: get: tags: - Accounts operationId: AccountPaymentProfilesV1_GetAsync parameters: - name: AccountPaymentProfileId in: path required: true schema: type: string - name: parameter.accountPaymentProfileId in: query required: false schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' security: - access_token: [] delete: tags: - Accounts operationId: AccountPaymentProfilesV1_DeleteAsync parameters: - name: AccountPaymentProfileId in: path required: true schema: type: string - name: parameter.accountPaymentProfileId in: query required: false schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' security: - access_token: [] patch: tags: - Accounts operationId: AccountPaymentProfilesV1_PatchAsync parameters: - name: AccountPaymentProfileId in: path required: true schema: type: string requestBody: $ref: '#/components/requestBodies/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' security: - access_token: [] components: schemas: Insite.Core.WebApi.SortOptionModel: type: object properties: displayName: type: string sortType: type: string Insite.Account.WebApi.V1.ApiModels.AccountCollectionModel: type: object properties: uri: type: string accounts: type: array items: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' pagination: $ref: '#/components/schemas/Insite.Core.WebApi.PaginationModel' properties: type: object additionalProperties: type: string Insite.Account.WebApi.V1.ApiModels.AccountShipToCollectionModel: type: object properties: uri: type: string pagination: $ref: '#/components/schemas/Insite.Core.WebApi.PaginationModel' userShipToCollection: type: array items: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountShipToModel' costCodeCollection: type: array items: $ref: '#/components/schemas/Insite.Account.Services.Dtos.CustomerCostCodeDto' properties: type: object additionalProperties: type: string Insite.Account.WebApi.V1.ApiModels.VmiUserModel: type: object properties: uri: type: string userId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 role: type: string vmiLocationIds: type: array items: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 removeVmiPermissions: type: boolean properties: type: object additionalProperties: type: string Insite.Account.WebApi.V1.ApiModels.AccountShipToModel: type: object properties: shipToNumber: type: string city: type: string state: type: string address: type: string assign: type: boolean isDefaultShipTo: type: boolean costCode: type: string id: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 Insite.Core.WebApi.PaginationModel: type: object properties: currentPage: format: int32 type: integer page: format: int32 type: integer pageSize: format: int32 type: integer defaultPageSize: format: int32 type: integer totalItemCount: format: int32 type: integer numberOfPages: format: int32 type: integer pageSizeOptions: type: array items: format: int32 type: integer sortOptions: type: array items: $ref: '#/components/schemas/Insite.Core.WebApi.SortOptionModel' sortType: type: string nextPageUri: type: string prevPageUri: type: string nextPageToken: type: string Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel: type: object properties: uri: type: string id: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 description: type: string cardType: type: string expirationDate: type: string maskedCardNumber: type: string cardIdentifier: type: string cardHolderName: type: string address1: type: string address2: type: string address3: type: string address4: type: string city: type: string state: type: string postalCode: type: string country: type: string isDefault: type: boolean tokenScheme: type: string securityCode: type: string properties: type: object additionalProperties: type: string Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileCollectionModel: type: object properties: uri: type: string accountPaymentProfiles: type: array items: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' pagination: $ref: '#/components/schemas/Insite.Core.WebApi.PaginationModel' properties: type: object additionalProperties: type: string Insite.Account.Services.Dtos.CustomerCostCodeDto: type: object properties: customerCostCodeId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 costCode: type: string description: type: string isActive: type: boolean Insite.Account.WebApi.V1.ApiModels.AccountModel: type: object properties: uri: type: string id: type: string email: type: string userName: type: string password: type: string isSubscribed: type: boolean isGuest: type: boolean canApproveOrders: type: boolean canViewApprovalOrders: type: boolean billToId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 shipToId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 firstName: type: string lastName: type: string role: type: string roleTranslated: type: string vmiRole: type: string vmiRoleTranslated: type: string approver: type: string isApproved: type: boolean activationStatus: type: string lastLoginOn: format: date-time type: string availableApprovers: type: array items: type: string availableRoles: type: array items: type: string availableRolesTranslated: type: object additionalProperties: type: string requiresActivation: type: boolean setDefaultCustomer: type: boolean defaultCustomerId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 defaultFulfillmentMethod: type: string defaultWarehouseId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 defaultWarehouse: $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.WarehouseModel' accessToken: type: string properties: type: object additionalProperties: type: string Insite.Catalog.WebApi.V1.ApiModels.WarehouseModel: type: object properties: uri: type: string id: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 name: type: string address1: type: string address2: type: string city: type: string contactName: type: string countryId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 deactivateOn: format: date-time type: string description: type: string phone: type: string postalCode: type: string shipSite: type: string state: type: string isDefault: type: boolean alternateWarehouses: type: array items: $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.WarehouseModel' latitude: format: decimal type: number longitude: format: decimal type: number hours: type: string distance: format: double type: number allowPickup: type: boolean pickupShipViaId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 properties: type: object additionalProperties: type: string Insite.Account.WebApi.V1.ApiModels.VmiUserImportModel: type: object properties: uri: type: string userId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 vmiLocationNames: type: array items: type: string vmiRoles: type: array items: type: string properties: type: object additionalProperties: type: string Insite.Account.WebApi.V1.ApiModels.VmiUserImportCollectionModel: type: object properties: uri: type: string vmiUsers: type: array items: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.VmiUserImportModel' properties: type: object additionalProperties: type: string requestBodies: Insite.Account.WebApi.V1.ApiModels.AccountModel: content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountModel' required: true Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel: content: application/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' text/json: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' application/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' text/xml: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' text/html: schema: $ref: '#/components/schemas/Insite.Account.WebApi.V1.ApiModels.AccountPaymentProfileModel' required: true securitySchemes: access_token: type: apiKey description: Token used to access storefront API. name: access_token in: query