Optimizely Accounts API

The Accounts API from Optimizely — 7 operation(s) for accounts.

Operations 12

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

PATCH /api/v1/accounts/{accountId}/shiptos Update an account's ship-to assignments · Account ship tos V1 patch #
Ask an LLM
“How do I change which ship-to addresses a user account can order to?”
“Can I update the cost codes attached to an account's ship-tos?”
Tell an agent
Update ship-to assignments for account {accountId} to {userShipToCollection}.
Set cost codes {costCodeCollection} on account {accountId}'s ship-tos.
GET /api/v1/accounts List user accounts · Accounts V1 get collection async #
Ask an LLM
“How do I search the user accounts in my Optimizely B2B storefront by name?”
“Can I list accounts that have a certain role while excluding others?”
Tell an agent
Search accounts for {searchText}.
List accounts with roles {roles}, excluding roles {excludeRoles}.
POST /api/v1/accounts Create a user account · Accounts V1 post async #
Ask an LLM
“How do I register a new user account with an email and password?”
“Can I create a guest account for checkout?”
Tell an agent
Create an account for {email} with username {userName} and password {password}.
Create a guest account with isGuest {isGuest}.
GET /api/v1/accounts/{accountId} Get a user account · Accounts V1 get async #
Ask an LLM
“What role and default ship-to does a specific user account have?”
“Can I fetch a single account by its id?”
Tell an agent
Get account {accountId}.
Show the role and approval rights of account {accountId}.
PATCH /api/v1/accounts/{accountId} Update a user account · Accounts V1 patch async #
Ask an LLM
“How do I change a user's role or name on their account?”
“Can I give an existing account permission to approve orders?”
Tell an agent
Change account {accountId}'s role to {role}.
Set canApproveOrders to {canApproveOrders} on account {accountId}.
POST /api/v1/accounts/vmi/import Import VMI users · Accounts V1 post vmi async #
Ask an LLM
“How do I bulk import vendor managed inventory users?”
“Can I load a list of VMI users in one request?”
Tell an agent
Import VMI users {vmiUsers}.
Bulk-load the vendor managed inventory user list {vmiUsers}.
PATCH /api/v1/accounts/vmi/{vmiUserId} Update a VMI user's role and locations · Accounts V1 patch vmi async #
Ask an LLM
“How do I change which VMI locations a vendor managed inventory user can access?”
“Can I strip VMI permissions from a user?”
Tell an agent
Give VMI user {vmiUserId} access to locations {vmiLocationIds}.
Set VMI user {vmiUserId}'s VMI role to {role}.
GET /api/v1/accounts/current/paymentprofiles List my saved payment profiles · Account payment profiles V1 get collection async #
Ask an LLM
“Which saved cards are on the current user's account?”
“Can I page through my stored payment profiles?”
Tell an agent
List the saved payment profiles for my account.
Search my saved payment profiles for {query}.
POST /api/v1/accounts/current/paymentprofiles Save a new payment card to my account · Account payment profiles V1 post async #
Ask an LLM
“How do I store a new credit card on the current user's account?”
“Can I mark a newly saved card as my default payment method?”
Tell an agent
Save card {cardIdentifier} for {cardHolderName} expiring {expirationDate} to my account.
Add a {cardType} payment profile described as {description} and set isDefault {isDefault}.
GET /api/v1/accounts/current/paymentprofiles/{AccountPaymentProfileId} Get one saved payment profile · Account payment profiles V1 get async #
Ask an LLM
“What are the masked card number and expiry of one of my saved cards?”
“Can I fetch a single saved payment profile by id?”
Tell an agent
Get payment profile {AccountPaymentProfileId}.
Show the masked card number on saved payment profile {AccountPaymentProfileId}.
DELETE /api/v1/accounts/current/paymentprofiles/{AccountPaymentProfileId} Remove a saved payment card · Account payment profiles V1 delete async #
Ask an LLM
“How do I delete a stored card from my account?”
“Can I remove an expired payment profile?”
Tell an agent destructive · confirm first
Delete payment profile {AccountPaymentProfileId}.
Remove saved card {AccountPaymentProfileId} from my account.
PATCH /api/v1/accounts/current/paymentprofiles/{AccountPaymentProfileId} Update a saved payment profile · Account payment profiles V1 patch async #
Ask an LLM
“How do I update the billing address on a saved card?”
“Can I change the expiration date of a stored payment profile?”
Tell an agent
Update payment profile {AccountPaymentProfileId} expiration to {expirationDate}.
Change the billing address on payment profile {AccountPaymentProfileId} to {address1}, {city} {postalCode}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/optimizely:optimizely-accounts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

optimizely-accounts-api-openapi.yml Raw ↑
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: []
      summary: Account ship tos V1 patch
      x-summary-source: derived
  /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: []
      summary: Accounts V1 get collection async
      x-summary-source: derived
    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'
      summary: Accounts V1 post async
      x-summary-source: derived
  /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: []
      summary: Accounts V1 get async
      x-summary-source: derived
    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: []
      summary: Accounts V1 patch async
      x-summary-source: derived
  /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: []
      summary: Accounts V1 post vmi async
      x-summary-source: derived
  /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: []
      summary: Accounts V1 patch vmi async
      x-summary-source: derived
  /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: []
      summary: Account payment profiles V1 get collection async
      x-summary-source: derived
    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: []
      summary: Account payment profiles V1 post async
      x-summary-source: derived
  /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: []
      summary: Account payment profiles V1 get async
      x-summary-source: derived
    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: []
      summary: Account payment profiles V1 delete async
      x-summary-source: derived
    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: []
      summary: Account payment profiles V1 patch async
      x-summary-source: derived
components:
  schemas:
    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.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.Core.WebApi.SortOptionModel:
      type: object
      properties:
        displayName:
          type: string
        sortType:
          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.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.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.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.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.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
    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.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.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
  requestBodies:
    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
    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
  securitySchemes:
    access_token:
      type: apiKey
      description: Token used to access storefront API.
      name: access_token
      in: query