# OrderCloud

Sitecore OrderCloud provides a powerful, flexible, and extensible platform for managing 
    e-commerce operations. Built with a headless, API-first design, OrderCloud supports any B2C, B2B, B2B2C 
    business models, allowing businesses to create, manage, and scale e-commerce experiences with full 
    control over their product catalogs, pricing, orders, and customer management.

    Key Features:
    - **Product Management**: Create, manage, and organize products, variants, categories, and pricing. 
      Manage inventories and set custom attributes.
    - **Order Management**: Create and track orders, manage status updates, process payments, and handle 
      shipping and fulfillment. OrderCloud supports customizable workflows for order processing.
    - **Customer & User Management**: Manage customer profiles, roles, permissions, and user-specific pricing.
    - **Multi-Channel Commerce**: Seamlessly manage commerce experiences across B2B, B2C, and marketplace 
      environments, offering a unified system to power all customer touch points.
    - **Integrations**: OrderCloud integrates with third-party systems like payment gateways, shipping 
      providers, and ERP systems. Custom integrations can also be built via extensible webhooks and API connectors.
    - **Security**: Built with security in mind, OrderCloud supports role-based access control (RBAC) and OAuth 
      2.0 authentication to ensure secure and compliant access to your resources.

    OrderCloud is highly customizable and extensible, providing the flexibility to adapt the platform to 
    your unique business needs and workflows. It’s designed to integrate smoothly into any existing 
    ecosystem and scale as your business grows.

    For detailed API documentation, integration guides, and tutorials, visit our [documentation site](https://ordercloud.io)

Version: 1.0.445.36017
License: Apache 2.0
Metadata:
  - product: OrderCloud

## Servers

Production sever for Ordercloud
```
https://api.ordercloud.io/v1
```

## Security

### OAuth2

Type: oauth2
Token URL: https://auth.ordercloud.io/oauth/token
Scopes:
- `AddressAdmin`: 
- `AddressReader`: 
- `AdminAddressAdmin`: 
- `AdminAddressReader`: 
- `AdminUserAdmin`: 
- `AdminUserGroupAdmin`: 
- `AdminUserGroupReader`: 
- `AdminUserReader`: 
- `ApiClientAdmin`: 
- `ApiClientReader`: 
- `ApprovalRuleAdmin`: 
- `ApprovalRuleReader`: 
- `BundleAdmin`: 
- `BundleAssignmentAdmin`: 
- `BundleReader`: 
- `BuyerAdmin`: 
- `BuyerImpersonation`: 
- `BuyerReader`: 
- `BuyerUserAdmin`: 
- `BuyerUserReader`: 
- `CatalogAdmin`: 
- `CatalogReader`: 
- `CategoryAdmin`: 
- `CategoryReader`: 
- `CostCenterAdmin`: 
- `CostCenterReader`: 
- `CreditCardAdmin`: 
- `CreditCardReader`: 
- `DeliveryConfigAdmin`: 
- `EntitySyncConfigAdmin`: 
- `ErrorConfigAdmin`: 
- `FullAccess`: 
- `IncrementorAdmin`: 
- `IncrementorReader`: 
- `IntegrationEventAdmin`: 
- `IntegrationEventReader`: 
- `LocaleAdmin`: 
- `LocaleReader`: 
- `MeAddressAdmin`: 
- `MeAdmin`: 
- `MeCreditCardAdmin`: 
- `MessageConfigAssignmentAdmin`: 
- `MessageSenderAdmin`: 
- `MessageSenderReader`: 
- `MeSubscriptionAdmin`: 
- `MeXpAdmin`: 
- `OrderAdmin`: 
- `OrderReader`: 
- `OrderSyncConfigAdmin`: 
- `OverrideShipping`: 
- `OverrideTax`: 
- `OverrideUnitPrice`: 
- `PasswordReset`: 
- `PriceScheduleAdmin`: 
- `PriceScheduleReader`: 
- `ProductAdmin`: 
- `ProductAssignmentAdmin`: 
- `ProductCollectionReader`: 
- `ProductFacetAdmin`: 
- `ProductFacetReader`: 
- `ProductReader`: 
- `ProductSyncConfigAdmin`: 
- `PromotionAdmin`: 
- `PromotionReader`: 
- `SecurityProfileAdmin`: 
- `SecurityProfileReader`: 
- `SetSecurityProfile`: 
- `ShipmentAdmin`: 
- `ShipmentReader`: 
- `Shopper`: 
- `SpendingAccountAdmin`: 
- `SpendingAccountReader`: 
- `SubscriptionAdmin`: 
- `SubscriptionReader`: 
- `SupplierAddressAdmin`: 
- `SupplierAddressReader`: 
- `SupplierAdmin`: 
- `SupplierReader`: 
- `SupplierUserAdmin`: 
- `SupplierUserGroupAdmin`: 
- `SupplierUserGroupReader`: 
- `SupplierUserReader`: 
- `TrackingEventAdmin`: 
- `TrackingEventReader`: 
- `UnsubmittedOrderReader`: 
- `UserGroupAdmin`: 
- `UserGroupReader`: 
- `WebhookAdmin`: 
- `WebhookReader`: 
- `XpIndexAdmin`: 

## Download OpenAPI description

[OrderCloud](https://api-docs.sitecore.com/_bundle/ordercloud/@v1/index.yaml)

## API clients

API clients represent applications or tools that need to interact with OrderCloud to send requests and receive data.

### List API clients

 - [GET /apiclients](https://api-docs.sitecore.com/ordercloud/api-clients/apiclients.list.md)

### Create an API client

 - [POST /apiclients](https://api-docs.sitecore.com/ordercloud/api-clients/apiclients.create.md)

### Retrieve an API client

 - [GET /apiclients/{apiClientID}](https://api-docs.sitecore.com/ordercloud/api-clients/apiclients.get.md)

### Create or update an API client

 - [PUT /apiclients/{apiClientID}](https://api-docs.sitecore.com/ordercloud/api-clients/apiclients.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an API client

 - [DELETE /apiclients/{apiClientID}](https://api-docs.sitecore.com/ordercloud/api-clients/apiclients.delete.md)

### Partially update an API client

 - [PATCH /apiclients/{apiClientID}](https://api-docs.sitecore.com/ordercloud/api-clients/apiclients.patch.md)

### List API client secrets

 - [GET /apiclients/{apiClientID}/secrets](https://api-docs.sitecore.com/ordercloud/api-clients/apiclients.listsecrets.md)

### Create an API client secret

 - [POST /apiclients/{apiClientID}/secrets](https://api-docs.sitecore.com/ordercloud/api-clients/apiclients.createsecret.md)

### Retrieve an API client secret

 - [GET /apiclients/{apiClientID}/secrets/{apiClientSecretID}](https://api-docs.sitecore.com/ordercloud/api-clients/apiclients.getsecret.md)

### Delete an API client secret

 - [DELETE /apiclients/{apiClientID}/secrets/{apiClientSecretID}](https://api-docs.sitecore.com/ordercloud/api-clients/apiclients.deletesecret.md)

### Partially update an API client secret

 - [PATCH /apiclients/{apiClientID}/secrets/{apiClientSecretID}](https://api-docs.sitecore.com/ordercloud/api-clients/apiclients.patchsecret.md)

### List API client assignments

 - [GET /apiclients/assignments](https://api-docs.sitecore.com/ordercloud/api-clients/apiclients.listassignments.md)

### Create or update an API client assignment

 - [POST /apiclients/assignments](https://api-docs.sitecore.com/ordercloud/api-clients/apiclients.saveassignment.md)

### Delete an API client buyer assignment

 - [DELETE /buyers/{buyerID}/ApiClients/Assignments/{apiClientID}](https://api-docs.sitecore.com/ordercloud/api-clients/apiclients.deletebuyerassignment.md)

### Delete an API client supplier assignment

 - [DELETE /suppliers/{supplierID}/ApiClients/Assignments/{apiClientID}](https://api-docs.sitecore.com/ordercloud/api-clients/apiclients.deletesupplierassignment.md)

## Security profiles

Security profiles define the access levels and permissions granted to users and roles within the platform, ensuring that only authorized individuals can perform specific actions. These profiles are customizable, allowing organizations to tailor security settings based on the unique needs of their operations and workflows.

### List security profiles

 - [GET /securityprofiles](https://api-docs.sitecore.com/ordercloud/security-profiles/securityprofiles.list.md)

### Create a security profile

 - [POST /securityprofiles](https://api-docs.sitecore.com/ordercloud/security-profiles/securityprofiles.create.md)

### Retrieve a security profile

 - [GET /securityprofiles/{securityProfileID}](https://api-docs.sitecore.com/ordercloud/security-profiles/securityprofiles.get.md)

### Create or update a security profile

 - [PUT /securityprofiles/{securityProfileID}](https://api-docs.sitecore.com/ordercloud/security-profiles/securityprofiles.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a security profile

 - [DELETE /securityprofiles/{securityProfileID}](https://api-docs.sitecore.com/ordercloud/security-profiles/securityprofiles.delete.md)

### Partially update a security profile

 - [PATCH /securityprofiles/{securityProfileID}](https://api-docs.sitecore.com/ordercloud/security-profiles/securityprofiles.patch.md)

### Delete a security profile assignment

 - [DELETE /securityprofiles/{securityProfileID}/assignments](https://api-docs.sitecore.com/ordercloud/security-profiles/securityprofiles.deleteassignment.md)

### List security profile assignments

 - [GET /securityprofiles/assignments](https://api-docs.sitecore.com/ordercloud/security-profiles/securityprofiles.listassignments.md)

### Create or update a security profile assignment

 - [POST /securityprofiles/assignments](https://api-docs.sitecore.com/ordercloud/security-profiles/securityprofiles.saveassignment.md)

## Forgotten credentials

These endpoints allow you to reset a user's password or retrieve a forgotten username.

### Send an one time password

 - [POST /password/onetimepassword](https://api-docs.sitecore.com/ordercloud/forgotten-credentials/forgottencredentials.sendonetimepassword.md)

### Send a verification code

 - [POST /password/reset](https://api-docs.sitecore.com/ordercloud/forgotten-credentials/forgottencredentials.sendverificationcode.md): Sends a temporary verification code via email, which must subsequently be passed in a Reset Password call. The verification code expires in 120 minutes.

### Reset a password by verification code

 - [PUT /password/reset/{verificationCode}](https://api-docs.sitecore.com/ordercloud/forgotten-credentials/forgottencredentials.resetpasswordbyverificationcode.md)

### Retrieve a username

 - [POST /username/retrieve](https://api-docs.sitecore.com/ordercloud/forgotten-credentials/forgottencredentials.retrieveusername.md): Sends an email with username for every username associated with an email. Always returns a 200 success regardless of if email doesn’t exist in the clientID.

## Impersonation configs

ImpersonationConfigs allow users to make API calls on behalf of a buyer user, which we refer to as impersonation.
If you're a marketplace owner user with the BuyerImpersonation role you can impersonate any buyer user under your organization as long as an applicable Impersonation Config has been created.
If you're a buyer user with the BuyerImpersonation role you can impersonate any other buyer user within the same buyer company as long as an applicable Impersonation Config has been created.

### List impersonation configs

 - [GET /impersonationconfig](https://api-docs.sitecore.com/ordercloud/impersonation-configs/impersonationconfigs.list.md)

### Create an impersonation config

 - [POST /impersonationconfig](https://api-docs.sitecore.com/ordercloud/impersonation-configs/impersonationconfigs.create.md)

### Retrieve an impersonation config

 - [GET /impersonationconfig/{impersonationConfigID}](https://api-docs.sitecore.com/ordercloud/impersonation-configs/impersonationconfigs.get.md)

### Create or update an impersonation config

 - [PUT /impersonationconfig/{impersonationConfigID}](https://api-docs.sitecore.com/ordercloud/impersonation-configs/impersonationconfigs.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an impersonation config

 - [DELETE /impersonationconfig/{impersonationConfigID}](https://api-docs.sitecore.com/ordercloud/impersonation-configs/impersonationconfigs.delete.md)

### Partially update an impersonation config

 - [PATCH /impersonationconfig/{impersonationConfigID}](https://api-docs.sitecore.com/ordercloud/impersonation-configs/impersonationconfigs.patch.md)

## Open ID connects

OpenID Connect (OIDC) is an authentication protocol built on top of the OAuth 2.0 framework, allowing applications to verify the identity of users and obtain basic profile information securely. It enables Single Sign-On by allowing users to authenticate with an identity provider (such as Google, Microsoft, or a custom provider) rather than directly within OrderCloud.

### List OpenID Connects

 - [GET /openidconnects](https://api-docs.sitecore.com/ordercloud/open-id-connects/openidconnects.list.md)

### Create an OpenID Connect

 - [POST /openidconnects](https://api-docs.sitecore.com/ordercloud/open-id-connects/openidconnects.create.md)

### Retrieve an OpenID Connect

 - [GET /openidconnects/{openidconnectID}](https://api-docs.sitecore.com/ordercloud/open-id-connects/openidconnects.get.md)

### Create or update an OpenID Connect

 - [PUT /openidconnects/{openidconnectID}](https://api-docs.sitecore.com/ordercloud/open-id-connects/openidconnects.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an OpenID Connect

 - [DELETE /openidconnects/{openidconnectID}](https://api-docs.sitecore.com/ordercloud/open-id-connects/openidconnects.delete.md)

### Partially update an OpenID Connect

 - [PATCH /openidconnects/{openidconnectID}](https://api-docs.sitecore.com/ordercloud/open-id-connects/openidconnects.patch.md)

## Admin users

Admin users are people with access to the marketplace. A user's organization and roles define who they are and what they can do when they log in. Admin users may have broader access than other user types, as they can access information about other organizations with the proper roles.

### List admin users

 - [GET /adminusers](https://api-docs.sitecore.com/ordercloud/admin-users/adminusers.list.md)

### Create an admin user

 - [POST /adminusers](https://api-docs.sitecore.com/ordercloud/admin-users/adminusers.create.md)

### Retrieve an admin user

 - [GET /adminusers/{userID}](https://api-docs.sitecore.com/ordercloud/admin-users/adminusers.get.md)

### Create or update an admin user

 - [PUT /adminusers/{userID}](https://api-docs.sitecore.com/ordercloud/admin-users/adminusers.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an admin user

 - [DELETE /adminusers/{userID}](https://api-docs.sitecore.com/ordercloud/admin-users/adminusers.delete.md)

### Partially update an admin user

 - [PATCH /adminusers/{userID}](https://api-docs.sitecore.com/ordercloud/admin-users/adminusers.patch.md)

### Revoke a user tokens

 - [DELETE /adminusers/{userID}/tokens](https://api-docs.sitecore.com/ordercloud/admin-users/adminusers.revokeusertokens.md): Revokes all security tokens of specified user.

### Unlock a user account

 - [POST /adminusers/{userID}/unlock](https://api-docs.sitecore.com/ordercloud/admin-users/adminusers.unlockuseraccount.md)

## Admin user groups

User groups streamline user management in your marketplace. By placing similar users in groups, you can filter content, define order management rules, and manage changes more easily than accounting for individual users.

### List admin user groups

 - [GET /usergroups](https://api-docs.sitecore.com/ordercloud/admin-user-groups/adminusergroups.list.md)

### Create an admin user group

 - [POST /usergroups](https://api-docs.sitecore.com/ordercloud/admin-user-groups/adminusergroups.create.md)

### Retrieve an admin user group

 - [GET /usergroups/{userGroupID}](https://api-docs.sitecore.com/ordercloud/admin-user-groups/adminusergroups.get.md)

### Create or update an admin user group

 - [PUT /usergroups/{userGroupID}](https://api-docs.sitecore.com/ordercloud/admin-user-groups/adminusergroups.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an admin user group

 - [DELETE /usergroups/{userGroupID}](https://api-docs.sitecore.com/ordercloud/admin-user-groups/adminusergroups.delete.md)

### Partially update an admin user group

 - [PATCH /usergroups/{userGroupID}](https://api-docs.sitecore.com/ordercloud/admin-user-groups/adminusergroups.patch.md)

### Delete an admin user group user assignment

 - [DELETE /usergroups/{userGroupID}/assignments/{userID}](https://api-docs.sitecore.com/ordercloud/admin-user-groups/adminusergroups.deleteuserassignment.md)

### List admin user group user assignments

 - [GET /usergroups/assignments](https://api-docs.sitecore.com/ordercloud/admin-user-groups/adminusergroups.listuserassignments.md)

### Create or update an admin user group user assignment

 - [POST /usergroups/assignments](https://api-docs.sitecore.com/ordercloud/admin-user-groups/adminusergroups.saveuserassignment.md)

## Admin addresses

Admin addresses define a ShipFromAddress on a product or line item, or represent physical locations for product specific inventory.

### List admin addresses

 - [GET /addresses](https://api-docs.sitecore.com/ordercloud/admin-addresses/adminaddresses.list.md)

### Create an admin address

 - [POST /addresses](https://api-docs.sitecore.com/ordercloud/admin-addresses/adminaddresses.create.md)

### Retrieve an admin address

 - [GET /addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/admin-addresses/adminaddresses.get.md)

### Create or update an admin address

 - [PUT /addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/admin-addresses/adminaddresses.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an admin address

 - [DELETE /addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/admin-addresses/adminaddresses.delete.md)

### Partially update an admin address

 - [PATCH /addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/admin-addresses/adminaddresses.patch.md)

## Incrementors

Incrementors add an atomically incremented number to your object IDs. For example, using "aprefix-{myIncrementorID}" results in an order ID of "aprefix-10010".

### List incrementors

 - [GET /incrementors](https://api-docs.sitecore.com/ordercloud/incrementors/incrementors.list.md)

### Create an incrementor

 - [POST /incrementors](https://api-docs.sitecore.com/ordercloud/incrementors/incrementors.create.md)

### Retrieve an incrementor

 - [GET /incrementors/{incrementorID}](https://api-docs.sitecore.com/ordercloud/incrementors/incrementors.get.md)

### Create or update an incrementor

 - [PUT /incrementors/{incrementorID}](https://api-docs.sitecore.com/ordercloud/incrementors/incrementors.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an incrementor

 - [DELETE /incrementors/{incrementorID}](https://api-docs.sitecore.com/ordercloud/incrementors/incrementors.delete.md)

### Partially update an incrementor

 - [PATCH /incrementors/{incrementorID}](https://api-docs.sitecore.com/ordercloud/incrementors/incrementors.patch.md)

## Locales

Locales facilitate multi-currency product pricing and ordering in a marketplace. You can assign locales to Buyers or Buyer UserGroups. Duplicate Currency/Language combinations are not permitted.

### List locales

 - [GET /locales](https://api-docs.sitecore.com/ordercloud/locales/locales.list.md)

### Create a locale

 - [POST /locales](https://api-docs.sitecore.com/ordercloud/locales/locales.create.md)

### Retrieve a locale

 - [GET /locales/{localeID}](https://api-docs.sitecore.com/ordercloud/locales/locales.get.md)

### Create or update a locale

 - [PUT /locales/{localeID}](https://api-docs.sitecore.com/ordercloud/locales/locales.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a locale

 - [DELETE /locales/{localeID}](https://api-docs.sitecore.com/ordercloud/locales/locales.delete.md)

### Partially update a locale

 - [PATCH /locales/{localeID}](https://api-docs.sitecore.com/ordercloud/locales/locales.patch.md)

### Delete a locale assignment

 - [DELETE /locales/{localeID}/assignments](https://api-docs.sitecore.com/ordercloud/locales/locales.deleteassignment.md)

### List locale assignments

 - [GET /locales/assignments](https://api-docs.sitecore.com/ordercloud/locales/locales.listassignments.md)

### Create or update a locale assignment

 - [POST /locales/assignments](https://api-docs.sitecore.com/ordercloud/locales/locales.saveassignment.md): Do not assign a user multiple groups with different assigned locales. That is considered a misconfiguration, and will yield unexpected results.

## Webhooks

Webhooks are HTTP callbacks that allow OrderCloud to send real-time data or notifications to a specified target when an event occurs.

### List webhooks

 - [GET /webhooks](https://api-docs.sitecore.com/ordercloud/webhooks/webhooks.list.md)

### Create a webhook

 - [POST /webhooks](https://api-docs.sitecore.com/ordercloud/webhooks/webhooks.create.md)

### Retrieve a webhook

 - [GET /webhooks/{webhookID}](https://api-docs.sitecore.com/ordercloud/webhooks/webhooks.get.md)

### Create or update a webhook

 - [PUT /webhooks/{webhookID}](https://api-docs.sitecore.com/ordercloud/webhooks/webhooks.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a webhook

 - [DELETE /webhooks/{webhookID}](https://api-docs.sitecore.com/ordercloud/webhooks/webhooks.delete.md)

### Partially update a webhook

 - [PATCH /webhooks/{webhookID}](https://api-docs.sitecore.com/ordercloud/webhooks/webhooks.patch.md)

## XP indices

XP indices are created for a given XP property on a resource to optimize that data for indexing. This allows filtering on that property.

### List XP indices

 - [GET /xpindices](https://api-docs.sitecore.com/ordercloud/xp-indices/xpindices.list.md)

### Create or update an xp index

 - [PUT /xpindices](https://api-docs.sitecore.com/ordercloud/xp-indices/xpindices.put.md)

### Delete a XP index

 - [DELETE /xpindices/{thingType}/{key}](https://api-docs.sitecore.com/ordercloud/xp-indices/xpindices.delete.md)

## Buyers

Buyers are the organizations that view the categories and products and place orders.

### List buyers

 - [GET /buyers](https://api-docs.sitecore.com/ordercloud/buyers/buyers.list.md)

### Create a buyer

 - [POST /buyers](https://api-docs.sitecore.com/ordercloud/buyers/buyers.create.md)

### Retrieve a buyer

 - [GET /buyers/{buyerID}](https://api-docs.sitecore.com/ordercloud/buyers/buyers.get.md)

### Create or update a buyer

 - [PUT /buyers/{buyerID}](https://api-docs.sitecore.com/ordercloud/buyers/buyers.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a buyer

 - [DELETE /buyers/{buyerID}](https://api-docs.sitecore.com/ordercloud/buyers/buyers.delete.md)

### Partially update a buyer

 - [PATCH /buyers/{buyerID}](https://api-docs.sitecore.com/ordercloud/buyers/buyers.patch.md)

### List sellers this buyer can purchase from

 - [GET /buyers/{buyerID}/sellers](https://api-docs.sitecore.com/ordercloud/buyers/buyers.listbuyersellers.md)

## Users

Users are people with access to the marketplace. A user's roles define who they are and what they can do when they log in to the application.

### List users

 - [GET /buyers/{buyerID}/users](https://api-docs.sitecore.com/ordercloud/users/users.list.md)

### Create a user

 - [POST /buyers/{buyerID}/users](https://api-docs.sitecore.com/ordercloud/users/users.create.md)

### Retrieve a user

 - [GET /buyers/{buyerID}/users/{userID}](https://api-docs.sitecore.com/ordercloud/users/users.get.md)

### Create or update a user

 - [PUT /buyers/{buyerID}/users/{userID}](https://api-docs.sitecore.com/ordercloud/users/users.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a user

 - [DELETE /buyers/{buyerID}/users/{userID}](https://api-docs.sitecore.com/ordercloud/users/users.delete.md)

### Partially update a user

 - [PATCH /buyers/{buyerID}/users/{userID}](https://api-docs.sitecore.com/ordercloud/users/users.patch.md)

### Retrieve a user access token

 - [POST /buyers/{buyerID}/users/{userID}/accesstoken](https://api-docs.sitecore.com/ordercloud/users/users.getaccesstoken.md)

### Move a user to a different buyer

 - [POST /buyers/{buyerID}/users/{userID}/moveto/{newBuyerID}](https://api-docs.sitecore.com/ordercloud/users/users.move.md)

### Revoke a user tokens

 - [DELETE /buyers/{buyerID}/users/{userID}/tokens](https://api-docs.sitecore.com/ordercloud/users/users.revokeusertokens.md): Revokes all security tokens of specified buyer user.

### Unlock a user account

 - [POST /buyers/{buyerID}/users/{userID}/unlock](https://api-docs.sitecore.com/ordercloud/users/users.unlockuseraccount.md)

### List user across buyers

 - [GET /buyerusers](https://api-docs.sitecore.com/ordercloud/users/users.listacrossbuyers.md)

## Buyer groups

Buyer groups streamline buyer management in your marketplace. By assigning similar buyers to groups, you can define shared pricing and catalog access and manage changes more easily than accounting for individual buyers.

### List buyer groups

 - [GET /buyergroups](https://api-docs.sitecore.com/ordercloud/buyer-groups/buyergroups.list.md)

### Create a buyer group

 - [POST /buyergroups](https://api-docs.sitecore.com/ordercloud/buyer-groups/buyergroups.create.md)

### Retrieve a buyer group

 - [GET /buyergroups/{buyerGroupID}](https://api-docs.sitecore.com/ordercloud/buyer-groups/buyergroups.get.md)

### Create or update a buyer group

 - [PUT /buyergroups/{buyerGroupID}](https://api-docs.sitecore.com/ordercloud/buyer-groups/buyergroups.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a buyer group

 - [DELETE /buyergroups/{buyerGroupID}](https://api-docs.sitecore.com/ordercloud/buyer-groups/buyergroups.delete.md)

### Partially update a buyer group

 - [PATCH /buyergroups/{buyerGroupID}](https://api-docs.sitecore.com/ordercloud/buyer-groups/buyergroups.patch.md)

## User groups

User groups streamline user management in your marketplace. By assigning similar users to groups, you can filter content, define order management rules, and manage changes more easily than accounting for individual users.

### List user groups

 - [GET /buyers/{buyerID}/usergroups](https://api-docs.sitecore.com/ordercloud/user-groups/usergroups.list.md)

### Create a user group

 - [POST /buyers/{buyerID}/usergroups](https://api-docs.sitecore.com/ordercloud/user-groups/usergroups.create.md)

### Retrieve a user group

 - [GET /buyers/{buyerID}/usergroups/{userGroupID}](https://api-docs.sitecore.com/ordercloud/user-groups/usergroups.get.md)

### Create or update a user group

 - [PUT /buyers/{buyerID}/usergroups/{userGroupID}](https://api-docs.sitecore.com/ordercloud/user-groups/usergroups.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a user group

 - [DELETE /buyers/{buyerID}/usergroups/{userGroupID}](https://api-docs.sitecore.com/ordercloud/user-groups/usergroups.delete.md)

### Partially update a user group

 - [PATCH /buyers/{buyerID}/usergroups/{userGroupID}](https://api-docs.sitecore.com/ordercloud/user-groups/usergroups.patch.md)

### Delete a user group user assignment

 - [DELETE /buyers/{buyerID}/usergroups/{userGroupID}/assignments/{userID}](https://api-docs.sitecore.com/ordercloud/user-groups/usergroups.deleteuserassignment.md)

### List user group user assignments

 - [GET /buyers/{buyerID}/usergroups/assignments](https://api-docs.sitecore.com/ordercloud/user-groups/usergroups.listuserassignments.md)

### Create or update a user group user assignment

 - [POST /buyers/{buyerID}/usergroups/assignments](https://api-docs.sitecore.com/ordercloud/user-groups/usergroups.saveuserassignment.md)

## Addresses

Addresses are used for billing and shipping an order. You can create multiple addresses and assign them to user groups, or create private addresses through the Me resource.

### List addresses

 - [GET /buyers/{buyerID}/addresses](https://api-docs.sitecore.com/ordercloud/addresses/addresses.list.md)

### Create an address

 - [POST /buyers/{buyerID}/addresses](https://api-docs.sitecore.com/ordercloud/addresses/addresses.create.md)

### Retrieve an address

 - [GET /buyers/{buyerID}/addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/addresses/addresses.get.md)

### Create or update an address

 - [PUT /buyers/{buyerID}/addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/addresses/addresses.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an address

 - [DELETE /buyers/{buyerID}/addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/addresses/addresses.delete.md)

### Partially update an address

 - [PATCH /buyers/{buyerID}/addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/addresses/addresses.patch.md)

### Delete an address assignment

 - [DELETE /buyers/{buyerID}/addresses/{addressID}/assignments](https://api-docs.sitecore.com/ordercloud/addresses/addresses.deleteassignment.md)

### List address assignments

 - [GET /buyers/{buyerID}/addresses/assignments](https://api-docs.sitecore.com/ordercloud/addresses/addresses.listassignments.md)

### Create or update an address assignment

 - [POST /buyers/{buyerID}/addresses/assignments](https://api-docs.sitecore.com/ordercloud/addresses/addresses.saveassignment.md)

## Cost centers

Cost centers are used to allocate organizational expenditures. Customers may have different names for this, such as "allocation codes" or "charge back codes", but the purpose is to allocate an expense to a person or department in an organization. Cost centers can referenced on line items, but they do not influence any behavior in OrderCloud.

### List cost centers

 - [GET /buyers/{buyerID}/costcenters](https://api-docs.sitecore.com/ordercloud/cost-centers/costcenters.list.md)

### Create a cost center

 - [POST /buyers/{buyerID}/costcenters](https://api-docs.sitecore.com/ordercloud/cost-centers/costcenters.create.md)

### Retrieve a cost center

 - [GET /buyers/{buyerID}/costcenters/{costCenterID}](https://api-docs.sitecore.com/ordercloud/cost-centers/costcenters.get.md)

### Create or update a cost center

 - [PUT /buyers/{buyerID}/costcenters/{costCenterID}](https://api-docs.sitecore.com/ordercloud/cost-centers/costcenters.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a cost center

 - [DELETE /buyers/{buyerID}/costcenters/{costCenterID}](https://api-docs.sitecore.com/ordercloud/cost-centers/costcenters.delete.md)

### Partially update a cost center

 - [PATCH /buyers/{buyerID}/costcenters/{costCenterID}](https://api-docs.sitecore.com/ordercloud/cost-centers/costcenters.patch.md)

### Delete a cost center assignment

 - [DELETE /buyers/{buyerID}/costcenters/{costCenterID}/assignments](https://api-docs.sitecore.com/ordercloud/cost-centers/costcenters.deleteassignment.md)

### List cost center assignments

 - [GET /buyers/{buyerID}/costcenters/assignments](https://api-docs.sitecore.com/ordercloud/cost-centers/costcenters.listassignments.md)

### Create or update a cost center assignment

 - [POST /buyers/{buyerID}/costcenters/assignments](https://api-docs.sitecore.com/ordercloud/cost-centers/costcenters.saveassignment.md)

## Credit cards

Credit cards are used as a payment method for an order.  A user may have access to one or many credit cards for personal spend or group spending.
Credit Cards may be saved and assigned to members of an organization for use during purchase.

### List credit cards

 - [GET /buyers/{buyerID}/creditcards](https://api-docs.sitecore.com/ordercloud/credit-cards/creditcards.list.md)

### Create a credit card

 - [POST /buyers/{buyerID}/creditcards](https://api-docs.sitecore.com/ordercloud/credit-cards/creditcards.create.md)

### Retrieve a credit card

 - [GET /buyers/{buyerID}/creditcards/{creditCardID}](https://api-docs.sitecore.com/ordercloud/credit-cards/creditcards.get.md)

### Create or update a credit card

 - [PUT /buyers/{buyerID}/creditcards/{creditCardID}](https://api-docs.sitecore.com/ordercloud/credit-cards/creditcards.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a credit card

 - [DELETE /buyers/{buyerID}/creditcards/{creditCardID}](https://api-docs.sitecore.com/ordercloud/credit-cards/creditcards.delete.md)

### Partially update a credit card

 - [PATCH /buyers/{buyerID}/creditcards/{creditCardID}](https://api-docs.sitecore.com/ordercloud/credit-cards/creditcards.patch.md)

### Delete a credit card assignment

 - [DELETE /buyers/{buyerID}/creditcards/{creditCardID}/assignments](https://api-docs.sitecore.com/ordercloud/credit-cards/creditcards.deleteassignment.md)

### List credit card assignments

 - [GET /buyers/{buyerID}/creditcards/assignments](https://api-docs.sitecore.com/ordercloud/credit-cards/creditcards.listassignments.md)

### Create or update a credit card assignment

 - [POST /buyers/{buyerID}/creditcards/assignments](https://api-docs.sitecore.com/ordercloud/credit-cards/creditcards.saveassignment.md)

## Spending accounts

Spending accounts are funds assigned to users that can be used as a payment method on an order. These funds are generally used as corporate budget accounts or rewards dollars. They include parameters that control expiration, balance available, balance renewal, user access and overdraft.

### List spending accounts

 - [GET /buyers/{buyerID}/spendingaccounts](https://api-docs.sitecore.com/ordercloud/spending-accounts/spendingaccounts.list.md)

### Create a spending account

 - [POST /buyers/{buyerID}/spendingaccounts](https://api-docs.sitecore.com/ordercloud/spending-accounts/spendingaccounts.create.md)

### Retrieve a spending account

 - [GET /buyers/{buyerID}/spendingaccounts/{spendingAccountID}](https://api-docs.sitecore.com/ordercloud/spending-accounts/spendingaccounts.get.md)

### Create or update a spending account

 - [PUT /buyers/{buyerID}/spendingaccounts/{spendingAccountID}](https://api-docs.sitecore.com/ordercloud/spending-accounts/spendingaccounts.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a spending account

 - [DELETE /buyers/{buyerID}/spendingaccounts/{spendingAccountID}](https://api-docs.sitecore.com/ordercloud/spending-accounts/spendingaccounts.delete.md)

### Partially update a spending account

 - [PATCH /buyers/{buyerID}/spendingaccounts/{spendingAccountID}](https://api-docs.sitecore.com/ordercloud/spending-accounts/spendingaccounts.patch.md)

### Delete a spending account assignment

 - [DELETE /buyers/{buyerID}/spendingaccounts/{spendingAccountID}/assignments](https://api-docs.sitecore.com/ordercloud/spending-accounts/spendingaccounts.deleteassignment.md)

### List spending account assignments

 - [GET /buyers/{buyerID}/spendingaccounts/assignments](https://api-docs.sitecore.com/ordercloud/spending-accounts/spendingaccounts.listassignments.md)

### Create or update a spending account assignment

 - [POST /buyers/{buyerID}/spendingaccounts/assignments](https://api-docs.sitecore.com/ordercloud/spending-accounts/spendingaccounts.saveassignment.md)

## Approval rules

Approval rules are used to verify the integrity of an order. Common examples include orders requiring managerial approval, approval for orders that contain a specific product category, approval for quantity thresholds, or approval for orders that exceed a specific price. Properties are also available to control the triggers and timing for processing approvals whether parallel to another rule, or in succession of a previous rule.

### List approval rules

 - [GET /buyers/{buyerID}/approvalrules](https://api-docs.sitecore.com/ordercloud/approval-rules/approvalrules.list.md)

### Create an approval rule

 - [POST /buyers/{buyerID}/approvalrules](https://api-docs.sitecore.com/ordercloud/approval-rules/approvalrules.create.md)

### Retrieve an approval rule

 - [GET /buyers/{buyerID}/approvalrules/{approvalRuleID}](https://api-docs.sitecore.com/ordercloud/approval-rules/approvalrules.get.md)

### Create or update an approval rule

 - [PUT /buyers/{buyerID}/approvalrules/{approvalRuleID}](https://api-docs.sitecore.com/ordercloud/approval-rules/approvalrules.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an approval rule

 - [DELETE /buyers/{buyerID}/approvalrules/{approvalRuleID}](https://api-docs.sitecore.com/ordercloud/approval-rules/approvalrules.delete.md)

### Partially update an approval rule

 - [PATCH /buyers/{buyerID}/approvalrules/{approvalRuleID}](https://api-docs.sitecore.com/ordercloud/approval-rules/approvalrules.patch.md)

## Product collections

Product collections are used to group products into lists to support things like wishlists, or "saved for later" features for individual buyer users.

### List product collections

 - [GET /buyers/{buyerID}/productcollections](https://api-docs.sitecore.com/ordercloud/product-collections/productcollections.list.md)

### Retrieve a product collection

 - [GET /buyers/{buyerID}/productcollections/{productCollectionID}](https://api-docs.sitecore.com/ordercloud/product-collections/productcollections.get.md)

### List product collection entries

 - [GET /buyers/{buyerID}/productcollections/{productCollectionID}/products](https://api-docs.sitecore.com/ordercloud/product-collections/productcollections.listentries.md)

## Suppliers

Suppliers can own, supply, and/or distribute products within the marketplace.

### List suppliers

 - [GET /suppliers](https://api-docs.sitecore.com/ordercloud/suppliers/suppliers.list.md)

### Create a supplier

 - [POST /suppliers](https://api-docs.sitecore.com/ordercloud/suppliers/suppliers.create.md)

### Retrieve a supplier

 - [GET /suppliers/{supplierID}](https://api-docs.sitecore.com/ordercloud/suppliers/suppliers.get.md)

### Create or update a supplier

 - [PUT /suppliers/{supplierID}](https://api-docs.sitecore.com/ordercloud/suppliers/suppliers.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a supplier

 - [DELETE /suppliers/{supplierID}](https://api-docs.sitecore.com/ordercloud/suppliers/suppliers.delete.md)

### Partially update a supplier

 - [PATCH /suppliers/{supplierID}](https://api-docs.sitecore.com/ordercloud/suppliers/suppliers.patch.md)

### List supplier buyers

 - [GET /suppliers/{supplierID}/buyers](https://api-docs.sitecore.com/ordercloud/suppliers/suppliers.listbuyers.md)

### Create or update a supplier buyer

 - [PUT /suppliers/{supplierID}/buyers/{buyerID}](https://api-docs.sitecore.com/ordercloud/suppliers/suppliers.savebuyer.md)

### Delete a supplier buyer

 - [DELETE /suppliers/{supplierID}/buyers/{buyerID}](https://api-docs.sitecore.com/ordercloud/suppliers/suppliers.deletebuyer.md)

## Supplier users

Supplier users are people with access to the marketplace. A user's organization and roles define who they are and what they can do when they log in to the application.

### List supplier users

 - [GET /suppliers/{supplierID}/users](https://api-docs.sitecore.com/ordercloud/supplier-users/supplierusers.list.md)

### Create a supplier user

 - [POST /suppliers/{supplierID}/users](https://api-docs.sitecore.com/ordercloud/supplier-users/supplierusers.create.md)

### Retrieve a supplier user

 - [GET /suppliers/{supplierID}/users/{userID}](https://api-docs.sitecore.com/ordercloud/supplier-users/supplierusers.get.md)

### Create or update a supplier user

 - [PUT /suppliers/{supplierID}/users/{userID}](https://api-docs.sitecore.com/ordercloud/supplier-users/supplierusers.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a supplier user

 - [DELETE /suppliers/{supplierID}/users/{userID}](https://api-docs.sitecore.com/ordercloud/supplier-users/supplierusers.delete.md)

### Partially update a supplier user

 - [PATCH /suppliers/{supplierID}/users/{userID}](https://api-docs.sitecore.com/ordercloud/supplier-users/supplierusers.patch.md)

### Revoke a user tokens

 - [DELETE /suppliers/{supplierID}/users/{userID}/tokens](https://api-docs.sitecore.com/ordercloud/supplier-users/supplierusers.revokeusertokens.md): Revokes all security tokens of specified supplier user.

### Unlock a user account

 - [POST /suppliers/{supplierID}/users/{userID}/unlock](https://api-docs.sitecore.com/ordercloud/supplier-users/supplierusers.unlockuseraccount.md)

## Supplier user groups

User groups streamline user management in your marketplace. By placing similar users in groups, you can filter content, define order management rules, and manage changes more easily than accounting for individual users.

### List supplier user groups

 - [GET /suppliers/{supplierID}/usergroups](https://api-docs.sitecore.com/ordercloud/supplier-user-groups/supplierusergroups.list.md)

### Create a supplier user group

 - [POST /suppliers/{supplierID}/usergroups](https://api-docs.sitecore.com/ordercloud/supplier-user-groups/supplierusergroups.create.md)

### Retrieve a supplier user group

 - [GET /suppliers/{supplierID}/usergroups/{userGroupID}](https://api-docs.sitecore.com/ordercloud/supplier-user-groups/supplierusergroups.get.md)

### Create or update a supplier user group

 - [PUT /suppliers/{supplierID}/usergroups/{userGroupID}](https://api-docs.sitecore.com/ordercloud/supplier-user-groups/supplierusergroups.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a supplier user group

 - [DELETE /suppliers/{supplierID}/usergroups/{userGroupID}](https://api-docs.sitecore.com/ordercloud/supplier-user-groups/supplierusergroups.delete.md)

### Partially update a supplier user group

 - [PATCH /suppliers/{supplierID}/usergroups/{userGroupID}](https://api-docs.sitecore.com/ordercloud/supplier-user-groups/supplierusergroups.patch.md)

### Delete a supplier user group user assignment

 - [DELETE /suppliers/{supplierID}/usergroups/{userGroupID}/assignments/{userID}](https://api-docs.sitecore.com/ordercloud/supplier-user-groups/supplierusergroups.deleteuserassignment.md)

### List supplier user group user assignments

 - [GET /suppliers/{supplierID}/usergroups/assignments](https://api-docs.sitecore.com/ordercloud/supplier-user-groups/supplierusergroups.listuserassignments.md)

### Create or update a supplier user group user assignment

 - [POST /suppliers/{supplierID}/usergroups/assignments](https://api-docs.sitecore.com/ordercloud/supplier-user-groups/supplierusergroups.saveuserassignment.md)

## Supplier addresses

Supplier addresses define a ShipFromAddress on a product or line item, or represent physical locations for product specific inventory.

### List supplier addresses

 - [GET /suppliers/{supplierID}/addresses](https://api-docs.sitecore.com/ordercloud/supplier-addresses/supplieraddresses.list.md)

### Create a supplier address

 - [POST /suppliers/{supplierID}/addresses](https://api-docs.sitecore.com/ordercloud/supplier-addresses/supplieraddresses.create.md)

### Retrieve a supplier address

 - [GET /suppliers/{supplierID}/addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/supplier-addresses/supplieraddresses.get.md)

### Create or update a supplier address

 - [PUT /suppliers/{supplierID}/addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/supplier-addresses/supplieraddresses.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a supplier address

 - [DELETE /suppliers/{supplierID}/addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/supplier-addresses/supplieraddresses.delete.md)

### Partially update a supplier address

 - [PATCH /suppliers/{supplierID}/addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/supplier-addresses/supplieraddresses.patch.md)

## Catalogs

Catalogs represent containers for multiple categories used to group products for a specific audience. When a buyer is created, they are issued and assigned a default catalog unless an existing catalog ID is provided. Catalogs can be shared between buyers using assignments., and should be when appropriate.

### List catalogs

 - [GET /catalogs](https://api-docs.sitecore.com/ordercloud/catalogs/catalogs.list.md)

### Create a catalog

 - [POST /catalogs](https://api-docs.sitecore.com/ordercloud/catalogs/catalogs.create.md)

### Retrieve a catalog

 - [GET /catalogs/{catalogID}](https://api-docs.sitecore.com/ordercloud/catalogs/catalogs.get.md)

### Create or update a catalog

 - [PUT /catalogs/{catalogID}](https://api-docs.sitecore.com/ordercloud/catalogs/catalogs.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a catalog

 - [DELETE /catalogs/{catalogID}](https://api-docs.sitecore.com/ordercloud/catalogs/catalogs.delete.md)

### Partially update a catalog

 - [PATCH /catalogs/{catalogID}](https://api-docs.sitecore.com/ordercloud/catalogs/catalogs.patch.md)

### Delete a catalog assignment

 - [DELETE /catalogs/{catalogID}/assignments](https://api-docs.sitecore.com/ordercloud/catalogs/catalogs.deleteassignment.md)

### Delete a catalog bundle assignment

 - [DELETE /catalogs/{catalogID}/bundleassignments/{bundleID}](https://api-docs.sitecore.com/ordercloud/catalogs/catalogs.deletebundleassignment.md)

### Delete a catalog product assignment

 - [DELETE /catalogs/{catalogID}/productassignments/{productID}](https://api-docs.sitecore.com/ordercloud/catalogs/catalogs.deleteproductassignment.md)

### List catalog assignments

 - [GET /catalogs/assignments](https://api-docs.sitecore.com/ordercloud/catalogs/catalogs.listassignments.md)

### Create or update a catalog assignment

 - [POST /catalogs/assignments](https://api-docs.sitecore.com/ordercloud/catalogs/catalogs.saveassignment.md)

### List catalog bundle assignments

 - [GET /catalogs/bundleassignments](https://api-docs.sitecore.com/ordercloud/catalogs/catalogs.listbundleassignments.md)

### Create or update a catalog bundle assignment

 - [POST /catalogs/bundleassignments](https://api-docs.sitecore.com/ordercloud/catalogs/catalogs.savebundleassignment.md)

### List catalog product assignments

 - [GET /catalogs/productassignments](https://api-docs.sitecore.com/ordercloud/catalogs/catalogs.listproductassignments.md)

### Create or update a catalog product assignment

 - [POST /catalogs/productassignments](https://api-docs.sitecore.com/ordercloud/catalogs/catalogs.saveproductassignment.md)

## Categories

Categories are used within a catalog to group products or other categories.

### List categories

 - [GET /catalogs/{catalogID}/categories](https://api-docs.sitecore.com/ordercloud/categories/categories.list.md)

### Create a category

 - [POST /catalogs/{catalogID}/categories](https://api-docs.sitecore.com/ordercloud/categories/categories.create.md): Setting adjustListOrders to true will increase ListOrder for all categories with the same or higher ListOrder.

### Retrieve a category

 - [GET /catalogs/{catalogID}/categories/{categoryID}](https://api-docs.sitecore.com/ordercloud/categories/categories.get.md)

### Create or update a category

 - [PUT /catalogs/{catalogID}/categories/{categoryID}](https://api-docs.sitecore.com/ordercloud/categories/categories.save.md): If an object with the same ID already exists, it will be overwritten.Setting adjustListOrders to true will increase ListOrder for all categories with the same or higher ListOrder.

### Delete a category

 - [DELETE /catalogs/{catalogID}/categories/{categoryID}](https://api-docs.sitecore.com/ordercloud/categories/categories.delete.md): Deleting a parent category will also delete all of that category's children.

### Partially update a category

 - [PATCH /catalogs/{catalogID}/categories/{categoryID}](https://api-docs.sitecore.com/ordercloud/categories/categories.patch.md): Setting adjustListOrders to true will increase ListOrder for all categories with the same or higher ListOrder.

### Delete a category assignment

 - [DELETE /catalogs/{catalogID}/categories/{categoryID}/assignments](https://api-docs.sitecore.com/ordercloud/categories/categories.deleteassignment.md)

### Delete a category bundle assignment

 - [DELETE /catalogs/{catalogID}/categories/{categoryID}/bundleassignments/{bundleID}](https://api-docs.sitecore.com/ordercloud/categories/categories.deletebundleassignment.md)

### Delete a category product assignment

 - [DELETE /catalogs/{catalogID}/categories/{categoryID}/productassignments/{productID}](https://api-docs.sitecore.com/ordercloud/categories/categories.deleteproductassignment.md)

### List category assignments

 - [GET /catalogs/{catalogID}/categories/assignments](https://api-docs.sitecore.com/ordercloud/categories/categories.listassignments.md)

### Create or update a category assignment

 - [POST /catalogs/{catalogID}/categories/assignments](https://api-docs.sitecore.com/ordercloud/categories/categories.saveassignment.md)

### List category bundle assignments

 - [GET /catalogs/{catalogID}/categories/bundleassignments](https://api-docs.sitecore.com/ordercloud/categories/categories.listbundleassignments.md)

### Create or update a category bundle assignment

 - [POST /catalogs/{catalogID}/categories/bundleassignments](https://api-docs.sitecore.com/ordercloud/categories/categories.savebundleassignment.md)

### List category product assignments

 - [GET /catalogs/{catalogID}/categories/productassignments](https://api-docs.sitecore.com/ordercloud/categories/categories.listproductassignments.md)

### Create or update a category product assignment

 - [POST /catalogs/{catalogID}/categories/productassignments](https://api-docs.sitecore.com/ordercloud/categories/categories.saveproductassignment.md)

## Products

Products represent a physical, digital, or abstract good that is offered for sale by a seller or supplier and is purchasable by a buyer user via an order. Products can be a static SKU or a version of a a static SKU, known as a variant. For example, a variant is often a size or color choice that drives a different product SKU. Products may also have inventory associated with them and various inventory attributes like quantity available and configurable stock level notifications.

### List products

 - [GET /products](https://api-docs.sitecore.com/ordercloud/products/products.list.md)

### Create a product

 - [POST /products](https://api-docs.sitecore.com/ordercloud/products/products.create.md)

### Retrieve a product

 - [GET /products/{productID}](https://api-docs.sitecore.com/ordercloud/products/products.get.md)

### Create or update a product

 - [PUT /products/{productID}](https://api-docs.sitecore.com/ordercloud/products/products.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a product

 - [DELETE /products/{productID}](https://api-docs.sitecore.com/ordercloud/products/products.delete.md)

### Partially update a product

 - [PATCH /products/{productID}](https://api-docs.sitecore.com/ordercloud/products/products.patch.md)

### Delete a product assignment

 - [DELETE /products/{productID}/assignments/{buyerID}](https://api-docs.sitecore.com/ordercloud/products/products.deleteassignment.md)

### List product specs

 - [GET /products/{productID}/specs](https://api-docs.sitecore.com/ordercloud/products/products.listspecs.md)

### List product suppliers

 - [GET /products/{productID}/suppliers](https://api-docs.sitecore.com/ordercloud/products/products.listsuppliers.md)

### Create or update a product supplier

 - [PUT /products/{productID}/suppliers/{supplierID}](https://api-docs.sitecore.com/ordercloud/products/products.savesupplier.md)

### Remove a product supplier

 - [DELETE /products/{productID}/suppliers/{supplierID}](https://api-docs.sitecore.com/ordercloud/products/products.removesupplier.md)

### List product variants

 - [GET /products/{productID}/variants](https://api-docs.sitecore.com/ordercloud/products/products.listvariants.md)

### Retrieve a product variant

 - [GET /products/{productID}/variants/{variantID}](https://api-docs.sitecore.com/ordercloud/products/products.getvariant.md)

### Update a product variant

 - [PUT /products/{productID}/variants/{variantID}](https://api-docs.sitecore.com/ordercloud/products/products.savevariant.md): Update a product variant.

### Partially update a product variant

 - [PATCH /products/{productID}/variants/{variantID}](https://api-docs.sitecore.com/ordercloud/products/products.patchvariant.md)

### Generate variants

 - [POST /products/{productID}/variants/generate](https://api-docs.sitecore.com/ordercloud/products/products.generatevariants.md)

### List product assignments

 - [GET /products/assignments](https://api-docs.sitecore.com/ordercloud/products/products.listassignments.md)

### Create or update a product assignment

 - [POST /products/assignments](https://api-docs.sitecore.com/ordercloud/products/products.saveassignment.md)

## Price schedules

Price schedules let you sell the same product with different prices or rules within the same marketplace. A price schedule can include quantity price breaks, min and max quantity per order, or whether to apply tax or shipping calculations.

### List price schedules

 - [GET /priceschedules](https://api-docs.sitecore.com/ordercloud/price-schedules/priceschedules.list.md)

### Create a price schedule

 - [POST /priceschedules](https://api-docs.sitecore.com/ordercloud/price-schedules/priceschedules.create.md)

### Retrieve a price schedule

 - [GET /priceschedules/{priceScheduleID}](https://api-docs.sitecore.com/ordercloud/price-schedules/priceschedules.get.md)

### Create or update a price schedule

 - [PUT /priceschedules/{priceScheduleID}](https://api-docs.sitecore.com/ordercloud/price-schedules/priceschedules.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a price schedule

 - [DELETE /priceschedules/{priceScheduleID}](https://api-docs.sitecore.com/ordercloud/price-schedules/priceschedules.delete.md)

### Partially update a price schedule

 - [PATCH /priceschedules/{priceScheduleID}](https://api-docs.sitecore.com/ordercloud/price-schedules/priceschedules.patch.md)

### Create or update a price schedule price break

 - [POST /priceschedules/{priceScheduleID}/PriceBreaks](https://api-docs.sitecore.com/ordercloud/price-schedules/priceschedules.savepricebreak.md)

### Delete a price schedule price break

 - [DELETE /priceschedules/{priceScheduleID}/PriceBreaks](https://api-docs.sitecore.com/ordercloud/price-schedules/priceschedules.deletepricebreak.md)

## Specs

Specs are name-value pairs, typically captured during user input when adding a product to an order. A spec value may have a price markup or markdown associated with it. In more advanced scenarios, specs can define a specific product variant. For example, a product may be available in 3 colors and 3 sizes and therefore have a total of 9 variants. OrderCloud will choose the correct variant to add based on the user-selected values, in this example color and size.

### List specs

 - [GET /specs](https://api-docs.sitecore.com/ordercloud/specs/specs.list.md)

### Create a spec

 - [POST /specs](https://api-docs.sitecore.com/ordercloud/specs/specs.create.md)

### Retrieve a spec

 - [GET /specs/{specID}](https://api-docs.sitecore.com/ordercloud/specs/specs.get.md)

### Create or update a spec

 - [PUT /specs/{specID}](https://api-docs.sitecore.com/ordercloud/specs/specs.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a spec

 - [DELETE /specs/{specID}](https://api-docs.sitecore.com/ordercloud/specs/specs.delete.md)

### Partially update a spec

 - [PATCH /specs/{specID}](https://api-docs.sitecore.com/ordercloud/specs/specs.patch.md)

### List spec options

 - [GET /specs/{specID}/options](https://api-docs.sitecore.com/ordercloud/specs/specs.listoptions.md)

### Create a spec option

 - [POST /specs/{specID}/options](https://api-docs.sitecore.com/ordercloud/specs/specs.createoption.md): A Spec can have multiple Options-- for example, if the spec is called 'Color', the options might be 'Blue', 'Red', and 'Green'.

### Retrieve a spec option

 - [GET /specs/{specID}/options/{optionID}](https://api-docs.sitecore.com/ordercloud/specs/specs.getoption.md)

### Create or update a spec option

 - [PUT /specs/{specID}/options/{optionID}](https://api-docs.sitecore.com/ordercloud/specs/specs.saveoption.md)

### Delete a spec option

 - [DELETE /specs/{specID}/options/{optionID}](https://api-docs.sitecore.com/ordercloud/specs/specs.deleteoption.md)

### Partially update a spec option

 - [PATCH /specs/{specID}/options/{optionID}](https://api-docs.sitecore.com/ordercloud/specs/specs.patchoption.md)

### Delete a spec product assignment

 - [DELETE /specs/{specID}/productassignments/{productID}](https://api-docs.sitecore.com/ordercloud/specs/specs.deleteproductassignment.md)

### List spec product assignments

 - [GET /specs/productassignments](https://api-docs.sitecore.com/ordercloud/specs/specs.listproductassignments.md)

### Create or update a spec product assignment

 - [POST /specs/productassignments](https://api-docs.sitecore.com/ordercloud/specs/specs.saveproductassignment.md)

## Product facets

Product facets are extended properties (values on product XP) designated to drive data to support faceted navigation. Buyer list endpoints for products will populate and return facets in the meta object, a collection of facet names, values, and counts. Counts represent the total results that would be returned if the current set were filtered on that facet value.

### List product facets

 - [GET /productfacets](https://api-docs.sitecore.com/ordercloud/product-facets/productfacets.list.md)

### Create a product facet

 - [POST /productfacets](https://api-docs.sitecore.com/ordercloud/product-facets/productfacets.create.md)

### Retrieve a product facet

 - [GET /productfacets/{productFacetID}](https://api-docs.sitecore.com/ordercloud/product-facets/productfacets.get.md)

### Create or update a product facet

 - [PUT /productfacets/{productFacetID}](https://api-docs.sitecore.com/ordercloud/product-facets/productfacets.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a product facet

 - [DELETE /productfacets/{productFacetID}](https://api-docs.sitecore.com/ordercloud/product-facets/productfacets.delete.md)

### Partially update a product facet

 - [PATCH /productfacets/{productFacetID}](https://api-docs.sitecore.com/ordercloud/product-facets/productfacets.patch.md)

## Inventory records

Inventory records represent physical locations where inventory for a given product exists. Use of inventory records will prevent writing to Product.Inventory.QuantityAvailable, which will instead be a sum of inventories across all locations associated to the product.

### List inventory records

 - [GET /products/{productID}/inventoryrecords](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.list.md)

### Create an inventory record

 - [POST /products/{productID}/inventoryrecords](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.create.md)

### Retrieve an inventory record

 - [GET /products/{productID}/inventoryrecords/{inventoryRecordID}](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.get.md)

### Create or update an inventory record

 - [PUT /products/{productID}/inventoryrecords/{inventoryRecordID}](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an inventory record

 - [DELETE /products/{productID}/inventoryrecords/{inventoryRecordID}](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.delete.md)

### Partially update an inventory record

 - [PATCH /products/{productID}/inventoryrecords/{inventoryRecordID}](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.patch.md)

### Delete an inventory record assignment

 - [DELETE /products/{productID}/inventoryrecords/{inventoryRecordID}/assignments](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.deleteassignment.md)

### List inventory record assignments

 - [GET /products/{productID}/inventoryrecords/assignments](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.listassignments.md)

### Create or update an inventory record assignment

 - [POST /products/{productID}/inventoryrecords/assignments](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.saveassignment.md)

### Get a list of variant inventory records

 - [GET /products/{productID}/variants/{variantID}/inventoryrecords](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.listvariant.md)

### Create a new variant inventory record

 - [POST /products/{productID}/variants/{variantID}/inventoryrecords](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.createvariant.md)

### Get a single variant inventory record

 - [GET /products/{productID}/variants/{variantID}/inventoryrecords/{inventoryRecordID}](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.getvariant.md)

### Create or update a variant inventory record

 - [PUT /products/{productID}/variants/{variantID}/inventoryrecords/{inventoryRecordID}](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.savevariant.md)

### Delete a variant inventory record

 - [DELETE /products/{productID}/variants/{variantID}/inventoryrecords/{inventoryRecordID}](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.deletevariant.md)

### Partially update a variant inventory record

 - [PATCH /products/{productID}/variants/{variantID}/inventoryrecords/{inventoryRecordID}](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.patchvariant.md)

### Delete an inventory record variant assignment

 - [DELETE /products/{productID}/variants/{variantID}/inventoryrecords/{inventoryRecordID}/assignments](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.deletevariantassignment.md)

### List inventory record variant assignments

 - [GET /products/{productID}/variants/{variantID}/inventoryrecords/assignments](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.listvariantassignments.md)

### Create or update an inventory record variant assignment

 - [POST /products/{productID}/variants/{variantID}/inventoryrecords/assignments](https://api-docs.sitecore.com/ordercloud/inventory-records/inventoryrecords.savevariantassignment.md)

## Bundles

Bundles represent a collection of physical, digital, or abstract goods that are offered for sale, sometimes at a specially defined price, by a seller or supplier and are purchasable by buyer users via an order.

### List bundles

 - [GET /bundles](https://api-docs.sitecore.com/ordercloud/bundles/bundles.list.md)

### Create a bundle

 - [POST /bundles](https://api-docs.sitecore.com/ordercloud/bundles/bundles.create.md)

### Retrieve a bundle

 - [GET /bundles/{bundleID}](https://api-docs.sitecore.com/ordercloud/bundles/bundles.get.md)

### Create or update a bundle

 - [PUT /bundles/{bundleID}](https://api-docs.sitecore.com/ordercloud/bundles/bundles.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a bundle

 - [DELETE /bundles/{bundleID}](https://api-docs.sitecore.com/ordercloud/bundles/bundles.delete.md)

### Partially update a bundle

 - [PATCH /bundles/{bundleID}](https://api-docs.sitecore.com/ordercloud/bundles/bundles.patch.md)

### Delete a bundle assignment

 - [DELETE /bundles/{bundleID}/assignments/{buyerID}](https://api-docs.sitecore.com/ordercloud/bundles/bundles.deleteassignment.md)

### Delete a bundle product assignment

 - [DELETE /bundles/{bundleID}/productassignments/{productID}](https://api-docs.sitecore.com/ordercloud/bundles/bundles.deleteproductassignment.md)

### List bundle assignments

 - [GET /bundles/assignments](https://api-docs.sitecore.com/ordercloud/bundles/bundles.listassignments.md)

### Create or update a bundle assignment

 - [POST /bundles/assignments](https://api-docs.sitecore.com/ordercloud/bundles/bundles.saveassignment.md)

### List bundle product assignments

 - [GET /bundles/productassignments](https://api-docs.sitecore.com/ordercloud/bundles/bundles.listproductassignments.md)

### Create or update a bundle product assignment

 - [POST /bundles/productassignments](https://api-docs.sitecore.com/ordercloud/bundles/bundles.saveproductassignment.md)

## Discounts

Discounts provide configurable pricing adjustments at various levels (catalog, category, product). Support percentage, flat per quantity, and flat amount discount types with party-based assignments.

### List discounts

 - [GET /discounts](https://api-docs.sitecore.com/ordercloud/discounts/discounts.list.md)

### Create a discount

 - [POST /discounts](https://api-docs.sitecore.com/ordercloud/discounts/discounts.create.md)

### Retrieve a discount

 - [GET /discounts/{discountID}](https://api-docs.sitecore.com/ordercloud/discounts/discounts.get.md)

### Create or update a discount

 - [PUT /discounts/{discountID}](https://api-docs.sitecore.com/ordercloud/discounts/discounts.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a discount

 - [DELETE /discounts/{discountID}](https://api-docs.sitecore.com/ordercloud/discounts/discounts.delete.md)

### Partially update a discount

 - [PATCH /discounts/{discountID}](https://api-docs.sitecore.com/ordercloud/discounts/discounts.patch.md)

### Delete a discount assignment

 - [DELETE /discounts/{discountID}/assignments](https://api-docs.sitecore.com/ordercloud/discounts/discounts.deleteassignment.md)

### List discount assignments

 - [GET /discounts/assignments](https://api-docs.sitecore.com/ordercloud/discounts/discounts.listassignments.md)

### Create or update a discount assignment

 - [POST /discounts/assignments](https://api-docs.sitecore.com/ordercloud/discounts/discounts.saveassignment.md)

## Orders

Orders represent a business transaction between two parties. They typically consist of a collection of line items, a payment method, tax and shipping information, etc. The platform defines various "actions" that can be performed against orders, such as Submit, Approve, Ship, etc. These actions transform the state of the order and often trigger external events such as financial transactions.

### List orders

 - [GET /orders/{direction}](https://api-docs.sitecore.com/ordercloud/orders/orders.list.md)

### Create an order

 - [POST /orders/{direction}](https://api-docs.sitecore.com/ordercloud/orders/orders.create.md)

### Retrieve an order

 - [GET /orders/{direction}/{orderID}](https://api-docs.sitecore.com/ordercloud/orders/orders.get.md)

### Create or update an order

 - [PUT /orders/{direction}/{orderID}](https://api-docs.sitecore.com/ordercloud/orders/orders.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an order

 - [DELETE /orders/{direction}/{orderID}](https://api-docs.sitecore.com/ordercloud/orders/orders.delete.md)

### Partially update an order

 - [PATCH /orders/{direction}/{orderID}](https://api-docs.sitecore.com/ordercloud/orders/orders.patch.md)

### Auto-apply promotions to an order

 - [POST /orders/{direction}/{orderID}/applypromotions](https://api-docs.sitecore.com/ordercloud/orders/orders.applypromotions.md): Apply up to 100 eligible promotions where AutoApply=true.

### List order approvals

 - [GET /orders/{direction}/{orderID}/approvals](https://api-docs.sitecore.com/ordercloud/orders/orders.listapprovals.md): Returns all Approvals associated with the Order.

### Approve an order

 - [POST /orders/{direction}/{orderID}/approve](https://api-docs.sitecore.com/ordercloud/orders/orders.approve.md)

### Set a billing address

 - [PUT /orders/{direction}/{orderID}/billto](https://api-docs.sitecore.com/ordercloud/orders/orders.setbillingaddress.md): Use only when the address is not to be saved/reused.To use a saved address (i.e. from the Addresses resource), PATCH the order's BillingAddressID property instead.

### Partially update an order billing address

 - [PATCH /orders/{direction}/{orderID}/billto](https://api-docs.sitecore.com/ordercloud/orders/orders.patchbillingaddress.md): Not allowed on unsubmitted orders where BillingAddressID has been set. In that case, use the Addresses resource to update the saved address.

### Cancel an order

 - [POST /orders/{direction}/{orderID}/cancel](https://api-docs.sitecore.com/ordercloud/orders/orders.cancel.md)

### Complete an order

 - [POST /orders/{direction}/{orderID}/complete](https://api-docs.sitecore.com/ordercloud/orders/orders.complete.md): Use only when an order doesn't need a shipment. You will not be able to ship or reopen an order after completing it.

### Decline an order

 - [POST /orders/{direction}/{orderID}/decline](https://api-docs.sitecore.com/ordercloud/orders/orders.decline.md)

### List order eligible approvers

 - [GET /orders/{direction}/{orderID}/eligibleapprovers](https://api-docs.sitecore.com/ordercloud/orders/orders.listeligibleapprovers.md): Returns all Users who can approve or decline this order (but have not done so).

### List eligible promotions for an order

 - [GET /orders/{direction}/{orderID}/eligiblepromotions](https://api-docs.sitecore.com/ordercloud/orders/orders.listeligiblepromotions.md)

### Forward an order

 - [POST /orders/{direction}/{orderID}/forward](https://api-docs.sitecore.com/ordercloud/orders/orders.forward.md): Creates and submits 0 or more outgoing Orders to Suppliers, one for each unique Product.DefaultSupplierID on this Order.

### Partially update an order from user

 - [PATCH /orders/{direction}/{orderID}/fromuser](https://api-docs.sitecore.com/ordercloud/orders/orders.patchfromuser.md): Only FirstName, LastName, and Email can be updated.Primarily used to facilitate guest checkout scenarios.

### List order promotions

 - [GET /orders/{direction}/{orderID}/promotions](https://api-docs.sitecore.com/ordercloud/orders/orders.listpromotions.md)

### Add a promotion to an order

 - [POST /orders/{direction}/{orderID}/promotions/{promoCode}](https://api-docs.sitecore.com/ordercloud/orders/orders.addpromotion.md)

### Remove a promotion from an order

 - [DELETE /orders/{direction}/{orderID}/promotions/{promoCode}](https://api-docs.sitecore.com/ordercloud/orders/orders.removepromotion.md)

### Refresh promotions on an order

 - [POST /orders/{direction}/{orderID}/refreshpromotions](https://api-docs.sitecore.com/ordercloud/orders/orders.refreshpromotions.md): Re-calculates promotion discounts, removes promotions that are no longer valid, and adds eligible promotions where AutoApply=true (up to limit of 100)

### Create a new shipment containing all items on an order

 - [POST /orders/{direction}/{orderID}/ship](https://api-docs.sitecore.com/ordercloud/orders/orders.ship.md)

### List shipments for an order

 - [GET /orders/{direction}/{orderID}/shipments](https://api-docs.sitecore.com/ordercloud/orders/orders.listshipments.md)

### Set a shipping address

 - [PUT /orders/{direction}/{orderID}/shipto](https://api-docs.sitecore.com/ordercloud/orders/orders.setshippingaddress.md): Use only when the address is not to be saved/reused. To use a saved address (i.e. from the Addresses resource), PATCH the order's ShippingAddressID property instead. The address used will be populated on the ShippingAddress property of each LineItem.

### Partially update an order shipping address

 - [PATCH /orders/{direction}/{orderID}/shipto](https://api-docs.sitecore.com/ordercloud/orders/orders.patchshippingaddress.md): Not allowed on unsubmitted orders where ShippingAddressID has been set. In that case, use the Addresses resource to update the saved address.

### Split an order

 - [POST /orders/{direction}/{orderID}/split](https://api-docs.sitecore.com/ordercloud/orders/orders.split.md): Creates, but does not submit, 0 or more outgoing Orders to Suppliers, one for each unique Product.DefaultSupplierID on this Order.

### Submit an order

 - [POST /orders/{direction}/{orderID}/submit](https://api-docs.sitecore.com/ordercloud/orders/orders.submit.md)

### Validate an order in its current state

 - [POST /orders/{direction}/{orderID}/validate](https://api-docs.sitecore.com/ordercloud/orders/orders.validate.md)

## Cart

Carts are a straightforward way for a buyer user to interact with an order before submitting it. Unlike order endpoints, an order ID is not needed to interact with the cart. This simplifies workflows and eliminates the need to keep track of the order ID on the front end. Please note cart should be used as a distinct alternative to order endpoints for a buyer user during the shopping experience; combining the use of cart endpoints with order endpoints is not supported and may have unexpected results. Only available to buyer users.

### Retrieve a cart

 - [GET /cart](https://api-docs.sitecore.com/ordercloud/cart/cart.get.md): If the ID of the Order returned is null, the cart has not yet been interacted with. Once an item is added, the Order.ID will be populated.

### Create or update a cart

 - [PUT /cart](https://api-docs.sitecore.com/ordercloud/cart/cart.save.md): If an object with the same ID already exists, it will be overwritten.The recommended way to initiate a new cart is to add a line item. If there is a specific reason an order needs to exist prior to adding a line item, this method can be used to initiate a new cart.

### Delete a cart

 - [DELETE /cart](https://api-docs.sitecore.com/ordercloud/cart/cart.delete.md): Empties the cart. Any promotions, payments or other items associated with the cart will also be removed.

### Partially update a cart

 - [PATCH /cart](https://api-docs.sitecore.com/ordercloud/cart/cart.patch.md)

### Set an active cart

 - [PUT /cart/{orderID}](https://api-docs.sitecore.com/ordercloud/cart/cart.setactivecart.md)

### Auto-apply promotions to the cart

 - [POST /cart/applypromotions](https://api-docs.sitecore.com/ordercloud/cart/cart.applypromotions.md): Apply up to 100 eligible promotions where AutoApply=true.

### Set a billing address

 - [PUT /cart/billto](https://api-docs.sitecore.com/ordercloud/cart/cart.setbillingaddress.md): Use only when the address is not to be saved/reused.To use a saved address (i.e. from the Addresses resource), PATCH the order's BillingAddressID property instead.

### Partially update a cart billing address

 - [PATCH /cart/billto](https://api-docs.sitecore.com/ordercloud/cart/cart.patchbillingaddress.md): Not allowed on carts where BillingAddressID has been set. In that case, use the Addresses resource to update the saved address.

### Create a cart bundle item

 - [POST /cart/bundles/{bundleID}](https://api-docs.sitecore.com/ordercloud/cart/cart.createbundleitem.md): Adds bundle line items to the cart

### Delete a cart bundle item

 - [DELETE /cart/bundles/{bundleID}/{bundleItemID}](https://api-docs.sitecore.com/ordercloud/cart/cart.deletebundleitem.md)

### Calculate the cart

 - [POST /cart/calculate](https://api-docs.sitecore.com/ordercloud/cart/cart.calculate.md)

### List eligible promotions for the cart

 - [GET /cart/eligiblepromotions](https://api-docs.sitecore.com/ordercloud/cart/cart.listeligiblepromotions.md)

### Estimate shipping cost

 - [POST /cart/estimateshipping](https://api-docs.sitecore.com/ordercloud/cart/cart.estimateshipping.md)

### Partially update a cart from user

 - [PATCH /cart/fromuser](https://api-docs.sitecore.com/ordercloud/cart/cart.patchfromuser.md): Only FirstName, LastName, and Email can be updated.Primarily used to facilitate guest checkout scenarios.

### List cart line items

 - [GET /cart/lineitems](https://api-docs.sitecore.com/ordercloud/cart/cart.listlineitems.md)

### Create a cart line item

 - [POST /cart/lineitems](https://api-docs.sitecore.com/ordercloud/cart/cart.createlineitem.md): Adds a line item to the cart

### Retrieve a cart line item

 - [GET /cart/lineitems/{lineItemID}](https://api-docs.sitecore.com/ordercloud/cart/cart.getlineitem.md)

### Create or update a cart line item

 - [PUT /cart/lineitems/{lineItemID}](https://api-docs.sitecore.com/ordercloud/cart/cart.savelineitem.md)

### Delete a cart line item

 - [DELETE /cart/lineitems/{lineItemID}](https://api-docs.sitecore.com/ordercloud/cart/cart.deletelineitem.md)

### Partially update a cart line item

 - [PATCH /cart/lineitems/{lineItemID}](https://api-docs.sitecore.com/ordercloud/cart/cart.patchlineitem.md)

### List cart payments

 - [GET /cart/payments](https://api-docs.sitecore.com/ordercloud/cart/cart.listpayments.md)

### Create a cart payment

 - [POST /cart/payments](https://api-docs.sitecore.com/ordercloud/cart/cart.createpayment.md)

### Retrieve a cart payment

 - [GET /cart/payments/{paymentID}](https://api-docs.sitecore.com/ordercloud/cart/cart.getpayment.md)

### Delete a cart payment

 - [DELETE /cart/payments/{paymentID}](https://api-docs.sitecore.com/ordercloud/cart/cart.deletepayment.md)

### Partially update a cart payment

 - [PATCH /cart/payments/{paymentID}](https://api-docs.sitecore.com/ordercloud/cart/cart.patchpayment.md)

### Create a cart payment transaction

 - [POST /cart/payments/{paymentID}/transactions](https://api-docs.sitecore.com/ordercloud/cart/cart.createpaymenttransaction.md)

### Delete a cart payment transaction

 - [DELETE /cart/payments/{paymentID}/transactions/{transactionID}](https://api-docs.sitecore.com/ordercloud/cart/cart.deletepaymenttransaction.md)

### List cart promotions

 - [GET /cart/promotions](https://api-docs.sitecore.com/ordercloud/cart/cart.listpromotions.md)

### Add a promotion

 - [POST /cart/promotions/{promoCode}](https://api-docs.sitecore.com/ordercloud/cart/cart.addpromotion.md)

### Delete a cart promotion

 - [DELETE /cart/promotions/{promoCode}](https://api-docs.sitecore.com/ordercloud/cart/cart.deletepromotion.md)

### Refresh promotions on the cart

 - [POST /cart/refreshpromotions](https://api-docs.sitecore.com/ordercloud/cart/cart.refreshpromotions.md): Re-calculates promotion discounts, removes promotions that are no longer valid, and adds eligible promotions where AutoApply=true (up to limit of 100)

### Select a ship method

 - [POST /cart/shipmethods](https://api-docs.sitecore.com/ordercloud/cart/cart.selectshipmethods.md)

### Set a shipping address

 - [PUT /cart/shipto](https://api-docs.sitecore.com/ordercloud/cart/cart.setshippingaddress.md): Use only when the address is not to be saved/reused. To use a saved address (i.e. from the Addresses resource), PATCH the order's ShippingAddressID property instead. The address used will be populated on the ShippingAddress property of each LineItem.

### Partially update a cart shipping address

 - [PATCH /cart/shipto](https://api-docs.sitecore.com/ordercloud/cart/cart.patchshippingaddress.md): Not allowed on carts where ShippingAddressID has been set. In that case, use the Addresses resource to update the saved address.

### Submit the cart

 - [POST /cart/submit](https://api-docs.sitecore.com/ordercloud/cart/cart.submit.md)

### Validate the cart in it's current state

 - [POST /cart/validate](https://api-docs.sitecore.com/ordercloud/cart/cart.validate.md)

### Retrieve a cart order worksheet

 - [GET /cart/worksheet](https://api-docs.sitecore.com/ordercloud/cart/cart.getorderworksheet.md)

## Line items

Line items represent a single line on an order. At a minimum, they contain a single product ID and a quantity. A line item may also include spec values, a cost center, shipping details, date needed, and other custom information.

### List line item across orders

 - [GET /lineitems/{direction}](https://api-docs.sitecore.com/ordercloud/line-items/lineitems.listacrossorders.md)

### List line items

 - [GET /orders/{direction}/{orderID}/lineitems](https://api-docs.sitecore.com/ordercloud/line-items/lineitems.list.md)

### Create a line item

 - [POST /orders/{direction}/{orderID}/lineitems](https://api-docs.sitecore.com/ordercloud/line-items/lineitems.create.md)

### Retrieve a line item

 - [GET /orders/{direction}/{orderID}/lineitems/{lineItemID}](https://api-docs.sitecore.com/ordercloud/line-items/lineitems.get.md)

### Create or update a line item

 - [PUT /orders/{direction}/{orderID}/lineitems/{lineItemID}](https://api-docs.sitecore.com/ordercloud/line-items/lineitems.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a line item

 - [DELETE /orders/{direction}/{orderID}/lineitems/{lineItemID}](https://api-docs.sitecore.com/ordercloud/line-items/lineitems.delete.md)

### Partially update a line item

 - [PATCH /orders/{direction}/{orderID}/lineitems/{lineItemID}](https://api-docs.sitecore.com/ordercloud/line-items/lineitems.patch.md)

### Set a shipping address

 - [PUT /orders/{direction}/{orderID}/lineitems/{lineItemID}/shipto](https://api-docs.sitecore.com/ordercloud/line-items/lineitems.setshippingaddress.md): Set the Shipping Address of the Line Item. Appropriate only when the Address is not to be saved/reused. To use a Saved Address (i.e. from the Addresses resource), PATCH the Line Item's ShippingAddressID property instead.

### Partially update a line item shipping address

 - [PATCH /orders/{direction}/{orderID}/lineitems/{lineItemID}/shipto](https://api-docs.sitecore.com/ordercloud/line-items/lineitems.patchshippingaddress.md): Partially update the Shipping Address of the Line Item. Not allowed on unsubmitted Line Items where ShippingAddressID has been set. In that case, use the Addresses resource to update the Saved Address.

## Promotions

Promotions reduce the cost of a line item or an order. Promotions can have redemption rules that can be applied for available dates, occurrences, eligible products and categories and value. Promotions can can be assigned to buyers or  user groups for redemption.

### List promotions

 - [GET /promotions](https://api-docs.sitecore.com/ordercloud/promotions/promotions.list.md)

### Create a promotion

 - [POST /promotions](https://api-docs.sitecore.com/ordercloud/promotions/promotions.create.md)

### Retrieve a promotion

 - [GET /promotions/{promotionID}](https://api-docs.sitecore.com/ordercloud/promotions/promotions.get.md)

### Create or update a promotion

 - [PUT /promotions/{promotionID}](https://api-docs.sitecore.com/ordercloud/promotions/promotions.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a promotion

 - [DELETE /promotions/{promotionID}](https://api-docs.sitecore.com/ordercloud/promotions/promotions.delete.md)

### Partially update a promotion

 - [PATCH /promotions/{promotionID}](https://api-docs.sitecore.com/ordercloud/promotions/promotions.patch.md)

### Delete a promotion assignment

 - [DELETE /promotions/{promotionID}/assignments](https://api-docs.sitecore.com/ordercloud/promotions/promotions.deleteassignment.md)

### List promotion assignments

 - [GET /promotions/assignments](https://api-docs.sitecore.com/ordercloud/promotions/promotions.listassignments.md)

### Create or update a promotion assignment

 - [POST /promotions/assignments](https://api-docs.sitecore.com/ordercloud/promotions/promotions.saveassignment.md)

## Payments

Payments store information about payments and transactions related to a spending account, or those that occur in a 3rd party payment provider.

### List payments

 - [GET /orders/{direction}/{orderID}/payments](https://api-docs.sitecore.com/ordercloud/payments/payments.list.md)

### Create a payment

 - [POST /orders/{direction}/{orderID}/payments](https://api-docs.sitecore.com/ordercloud/payments/payments.create.md)

### Retrieve a payment

 - [GET /orders/{direction}/{orderID}/payments/{paymentID}](https://api-docs.sitecore.com/ordercloud/payments/payments.get.md)

### Delete a payment

 - [DELETE /orders/{direction}/{orderID}/payments/{paymentID}](https://api-docs.sitecore.com/ordercloud/payments/payments.delete.md)

### Partially update a payment

 - [PATCH /orders/{direction}/{orderID}/payments/{paymentID}](https://api-docs.sitecore.com/ordercloud/payments/payments.patch.md): PUT is not a supported method for payments due to the implications associated with modifying certain properties. Patch is only permitted on certain properties that vary depending on order status

### Create a payment transaction

 - [POST /orders/{direction}/{orderID}/payments/{paymentID}/transactions](https://api-docs.sitecore.com/ordercloud/payments/payments.createtransaction.md)

### Delete a payment transaction

 - [DELETE /orders/{direction}/{orderID}/payments/{paymentID}/transactions/{transactionID}](https://api-docs.sitecore.com/ordercloud/payments/payments.deletetransaction.md)

## Shipments

Shipments are a grouping of one or more line items from one or more orders that are physically packaged and delivered to the Buyer as a single unit. They are typically created by the marketplace owner or supplier after the order is submitted as part of the fulfillment process.

### List shipments

 - [GET /shipments](https://api-docs.sitecore.com/ordercloud/shipments/shipments.list.md)

### Create a shipment

 - [POST /shipments](https://api-docs.sitecore.com/ordercloud/shipments/shipments.create.md)

### Retrieve a shipment

 - [GET /shipments/{shipmentID}](https://api-docs.sitecore.com/ordercloud/shipments/shipments.get.md)

### Create or update a shipment

 - [PUT /shipments/{shipmentID}](https://api-docs.sitecore.com/ordercloud/shipments/shipments.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a shipment

 - [DELETE /shipments/{shipmentID}](https://api-docs.sitecore.com/ordercloud/shipments/shipments.delete.md)

### Partially update a shipment

 - [PATCH /shipments/{shipmentID}](https://api-docs.sitecore.com/ordercloud/shipments/shipments.patch.md)

### List shipment items

 - [GET /shipments/{shipmentID}/items](https://api-docs.sitecore.com/ordercloud/shipments/shipments.listitems.md)

### Create or update a shipment item

 - [POST /shipments/{shipmentID}/items](https://api-docs.sitecore.com/ordercloud/shipments/shipments.saveitem.md)

### Retrieve a shipment item

 - [GET /shipments/{shipmentID}/items/{orderID}/{lineItemID}](https://api-docs.sitecore.com/ordercloud/shipments/shipments.getitem.md)

### Delete a shipment item

 - [DELETE /shipments/{shipmentID}/items/{orderID}/{lineItemID}](https://api-docs.sitecore.com/ordercloud/shipments/shipments.deleteitem.md)

### Set a ship from address

 - [PUT /shipments/{shipmentID}/shipfrom](https://api-docs.sitecore.com/ordercloud/shipments/shipments.setshipfromaddress.md): Use only when the address is not to be saved/reused. To use a saved address (i.e. from the Addresses resource), PATCH the shipment's FromAddressID property instead.

### Set a ship to address

 - [PUT /shipments/{shipmentID}/shipto](https://api-docs.sitecore.com/ordercloud/shipments/shipments.setshiptoaddress.md): Use only when the address is not to be saved/reused. To use a saved address (i.e. from the Addresses resource), PATCH the shipment's ToAddressID property instead.

## Order returns

Order returns represent a transaction between two parties. They can be a record of physical items being returned, or a credit being issued not tied to the return of an item, for example, a delayed shipping credit.

### List order returns

 - [GET /orderreturns](https://api-docs.sitecore.com/ordercloud/order-returns/orderreturns.list.md)

### Create an order return

 - [POST /orderreturns](https://api-docs.sitecore.com/ordercloud/order-returns/orderreturns.create.md)

### Retrieve an order return

 - [GET /orderreturns/{returnID}](https://api-docs.sitecore.com/ordercloud/order-returns/orderreturns.get.md)

### Create or update an order return

 - [PUT /orderreturns/{returnID}](https://api-docs.sitecore.com/ordercloud/order-returns/orderreturns.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an order return

 - [DELETE /orderreturns/{returnID}](https://api-docs.sitecore.com/ordercloud/order-returns/orderreturns.delete.md)

### Partially update an order return

 - [PATCH /orderreturns/{returnID}](https://api-docs.sitecore.com/ordercloud/order-returns/orderreturns.patch.md)

### List order return approvals

 - [GET /orderreturns/{returnID}/approvals](https://api-docs.sitecore.com/ordercloud/order-returns/orderreturns.listapprovals.md): Returns all Approvals associated with the Order Return.

### Approve an order return

 - [POST /orderreturns/{returnID}/approve](https://api-docs.sitecore.com/ordercloud/order-returns/orderreturns.approve.md)

### Cancel an order return

 - [POST /orderreturns/{returnID}/cancel](https://api-docs.sitecore.com/ordercloud/order-returns/orderreturns.cancel.md)

### Complete an order return

 - [POST /orderreturns/{returnID}/complete](https://api-docs.sitecore.com/ordercloud/order-returns/orderreturns.complete.md): Use only when an order return won't have an associated payment. You will not to reopen an order return after completing it.

### Decline an order return

 - [POST /orderreturns/{returnID}/decline](https://api-docs.sitecore.com/ordercloud/order-returns/orderreturns.decline.md)

### List order return eligible approvers

 - [GET /orderreturns/{returnID}/eligibleapprovers](https://api-docs.sitecore.com/ordercloud/order-returns/orderreturns.listeligibleapprovers.md): Returns all Users who can approve or decline this order return (but have not done so).

### Delete an order return item

 - [DELETE /orderreturns/{returnID}/items/{lineItemID}](https://api-docs.sitecore.com/ordercloud/order-returns/orderreturns.deleteitem.md)

### Submit an order return

 - [POST /orderreturns/{returnID}/submit](https://api-docs.sitecore.com/ordercloud/order-returns/orderreturns.submit.md)

## Seller approval rules

Order return approval rules verify the integrity of an order return. Common examples include order returns exceeding a specified refund amount or order returns that contain no physical items to return. Properties are also available to control the triggers and timing for processing approvals whether parallel to another rule, or in succession of a previous rule.

### List seller approval rules

 - [GET /approvalrules](https://api-docs.sitecore.com/ordercloud/seller-approval-rules/sellerapprovalrules.list.md)

### Create a seller approval rule

 - [POST /approvalrules](https://api-docs.sitecore.com/ordercloud/seller-approval-rules/sellerapprovalrules.create.md)

### Retrieve a seller approval rule

 - [GET /approvalrules/{approvalRuleID}](https://api-docs.sitecore.com/ordercloud/seller-approval-rules/sellerapprovalrules.get.md)

### Create or update a seller approval rule

 - [PUT /approvalrules/{approvalRuleID}](https://api-docs.sitecore.com/ordercloud/seller-approval-rules/sellerapprovalrules.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a seller approval rule

 - [DELETE /approvalrules/{approvalRuleID}](https://api-docs.sitecore.com/ordercloud/seller-approval-rules/sellerapprovalrules.delete.md)

### Partially update a seller approval rule

 - [PATCH /approvalrules/{approvalRuleID}](https://api-docs.sitecore.com/ordercloud/seller-approval-rules/sellerapprovalrules.patch.md)

## Bundle line items

Bundles represent a group of lines on an order. At a minimum, each line contains a single product ID and a quantity. A line item may also include spec values, a cost center, shipping details, date needed, and other custom information.

### Create a bundle line item

 - [POST /orders/{direction}/{orderID}/bundles/{bundleID}](https://api-docs.sitecore.com/ordercloud/bundle-line-items/bundlelineitems.create.md)

### Delete a bundle line item

 - [DELETE /orders/{direction}/{orderID}/bundles/{bundleID}/{bundleItemID}](https://api-docs.sitecore.com/ordercloud/bundle-line-items/bundlelineitems.delete.md)

## Bundle subscription items

Subscription orders allow users to set up recurring orders for bundled products or services that are needed on a regular basis.

### Create a bundle subscription item

 - [POST /subscriptions/{subscriptionID}/bundles/{bundleID}](https://api-docs.sitecore.com/ordercloud/bundle-subscription-items/bundlesubscriptionitems.create.md)

### Delete a bundle subscription item

 - [DELETE /subscriptions/{subscriptionID}/bundles/{bundleID}/{bundleItemID}](https://api-docs.sitecore.com/ordercloud/bundle-subscription-items/bundlesubscriptionitems.delete.md)

## Group orders

Group orders endpoint returns a token which can be used to interact with the order associated with the invitation.

### Retrieve a group order token

 - [POST /grouporders/{invitationID}/token](https://api-docs.sitecore.com/ordercloud/group-orders/grouporders.gettoken.md)

## Subscription items

Subscription items are used in conjunction with Subscriptions to order products on a recurring basis.

### List subscription items

 - [GET /subscriptions/{subscriptionID}/items](https://api-docs.sitecore.com/ordercloud/subscription-items/subscriptionitems.list.md)

### Create a subscription item

 - [POST /subscriptions/{subscriptionID}/items](https://api-docs.sitecore.com/ordercloud/subscription-items/subscriptionitems.create.md)

### Retrieve a subscription item

 - [GET /subscriptions/{subscriptionID}/items/{subscriptionItemID}](https://api-docs.sitecore.com/ordercloud/subscription-items/subscriptionitems.get.md)

### Create or update a subscription item

 - [PUT /subscriptions/{subscriptionID}/items/{subscriptionItemID}](https://api-docs.sitecore.com/ordercloud/subscription-items/subscriptionitems.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a subscription item

 - [DELETE /subscriptions/{subscriptionID}/items/{subscriptionItemID}](https://api-docs.sitecore.com/ordercloud/subscription-items/subscriptionitems.delete.md)

### Partially update a subscription item

 - [PATCH /subscriptions/{subscriptionID}/items/{subscriptionItemID}](https://api-docs.sitecore.com/ordercloud/subscription-items/subscriptionitems.patch.md)

## Subscriptions

Subscription orders allow users to set up recurring orders for products or services that are needed on a regular basis.

### List subscriptions

 - [GET /subscriptions](https://api-docs.sitecore.com/ordercloud/subscriptions/subscriptions.list.md)

### Create a subscription

 - [POST /subscriptions](https://api-docs.sitecore.com/ordercloud/subscriptions/subscriptions.create.md)

### Retrieve a subscription

 - [GET /subscriptions/{subscriptionID}](https://api-docs.sitecore.com/ordercloud/subscriptions/subscriptions.get.md)

### Create or update a subscription

 - [PUT /subscriptions/{subscriptionID}](https://api-docs.sitecore.com/ordercloud/subscriptions/subscriptions.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a subscription

 - [DELETE /subscriptions/{subscriptionID}](https://api-docs.sitecore.com/ordercloud/subscriptions/subscriptions.delete.md)

### Partially update a subscription

 - [PATCH /subscriptions/{subscriptionID}](https://api-docs.sitecore.com/ordercloud/subscriptions/subscriptions.patch.md)

## Me

Endpoints for managing the currently authenticated user's profile and information.

### Get the currently authenticated user

 - [GET /me](https://api-docs.sitecore.com/ordercloud/me/me.get.md)

### Update the currently authenticated user

 - [PUT /me](https://api-docs.sitecore.com/ordercloud/me/me.save.md): If an object with the same ID already exists, it will be overwritten.

### Patch the currently authenticated user

 - [PATCH /me](https://api-docs.sitecore.com/ordercloud/me/me.patch.md)

### Reset a password by token

 - [POST /me/password](https://api-docs.sitecore.com/ordercloud/me/me.resetpasswordbytoken.md)

### Register a user

 - [PUT /me/register](https://api-docs.sitecore.com/ordercloud/me/me.register.md)

### Revoke tokens

 - [DELETE /me/tokens](https://api-docs.sitecore.com/ordercloud/me/me.revoketokens.md): Revokes all tokens previously issued to the current user and forces them to reauthenticate.

## Addresses

Endpoints for the currently authenticated user's addresses.

### List addresses visible to this user

 - [GET /me/addresses](https://api-docs.sitecore.com/ordercloud/me-addresses/me.listaddresses.md): Only available to Buyer Users.

### Create an address

 - [POST /me/addresses](https://api-docs.sitecore.com/ordercloud/me-addresses/me.createaddress.md): Only available to Buyer Users. Addresses created using this endpoint are considered private, and only accessible to the user who created them.

### Retrieve an address

 - [GET /me/addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/me-addresses/me.getaddress.md): Only available to Buyer Users.

### Update an address

 - [PUT /me/addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/me-addresses/me.saveaddress.md): Only available to Buyer Users.

### Delete an address

 - [DELETE /me/addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/me-addresses/me.deleteaddress.md): Only available to Buyer Users.

### Partially update an address

 - [PATCH /me/addresses/{addressID}](https://api-docs.sitecore.com/ordercloud/me-addresses/me.patchaddress.md): Only available to Buyer Users.

## Catalogs

Endpoints for the currently authenticated user's catalogs.

### List catalogs visible to this user

 - [GET /me/catalogs](https://api-docs.sitecore.com/ordercloud/me-catalogs/me.listcatalogs.md): Only available to Buyer Users.

### Retrieve a catalog

 - [GET /me/catalogs/{catalogID}](https://api-docs.sitecore.com/ordercloud/me-catalogs/me.getcatalog.md): Only available to Buyer Users.

## Categories

Endpoints for the currently authenticated user's categories.

### List categories visible to this user

 - [GET /me/categories](https://api-docs.sitecore.com/ordercloud/me-categories/me.listcategories.md): Only available to Buyer Users.

### Retrieve a category

 - [GET /me/categories/{categoryID}](https://api-docs.sitecore.com/ordercloud/me-categories/me.getcategory.md): Only available to Buyer Users.

## Cost centers

Endpoints for the currently authenticated user's cost centers.

### List cost centers visible to this user

 - [GET /me/costcenters](https://api-docs.sitecore.com/ordercloud/me-cost-centers/me.listcostcenters.md): Only available to Buyer Users.

## Credit cards

Endpoints for the currently authenticated user's credit cards.

### List credit cards visible to this user

 - [GET /me/creditcards](https://api-docs.sitecore.com/ordercloud/me-credit-cards/me.listcreditcards.md): Only available to Buyer Users.

### Create a credit card

 - [POST /me/creditcards](https://api-docs.sitecore.com/ordercloud/me-credit-cards/me.createcreditcard.md): Only available to Buyer Users. Credit Cards created using this endpoint are considered private, and only accessible to the user who created them.

### Retrieve a credit card

 - [GET /me/creditcards/{creditcardID}](https://api-docs.sitecore.com/ordercloud/me-credit-cards/me.getcreditcard.md): Only available to Buyer Users.

### Update a credit card

 - [PUT /me/creditcards/{creditcardID}](https://api-docs.sitecore.com/ordercloud/me-credit-cards/me.savecreditcard.md): Only available to Buyer Users.

### Delete a credit card

 - [DELETE /me/creditcards/{creditcardID}](https://api-docs.sitecore.com/ordercloud/me-credit-cards/me.deletecreditcard.md): Only available to Buyer Users.

### Partially update a credit card

 - [PATCH /me/creditcards/{creditcardID}](https://api-docs.sitecore.com/ordercloud/me-credit-cards/me.patchcreditcard.md): Only available to Buyer Users.

## Orders

Endpoints for the currently authenticated user's orders.

### List group order invitations visible to this user

 - [GET /me/orderinvitations](https://api-docs.sitecore.com/ordercloud/me-orders/me.listgrouporderinvitations.md)

### Create a group order invitation

 - [POST /me/orderinvitations](https://api-docs.sitecore.com/ordercloud/me-orders/me.creategrouporderinvitation.md): A group order invitation allows other users to contribute to an existing order. Contributors may request an access token with the invitation ID that allows them to add line items and modify those line items.

### Retrieve a group order invitation

 - [GET /me/orderinvitations/{invitationID}](https://api-docs.sitecore.com/ordercloud/me-orders/me.getgrouporderinvitation.md)

### Delete a group order invitation

 - [DELETE /me/orderinvitations/{invitationID}](https://api-docs.sitecore.com/ordercloud/me-orders/me.deletegrouporderinvitation.md)

### Partially update a group order invitation

 - [PATCH /me/orderinvitations/{invitationID}](https://api-docs.sitecore.com/ordercloud/me-orders/me.patchgrouporderinvitation.md)

### List orders visible to this user

 - [GET /me/orders](https://api-docs.sitecore.com/ordercloud/me-orders/me.listorders.md): List orders created by this user.

### Transfer an anon user order

 - [PUT /me/orders](https://api-docs.sitecore.com/ordercloud/me-orders/me.transferanonuserorder.md): If a user begins an order as the anonymous shopper and later logs in, use this endpoint to transfer that order to them.

### Get a list of orders that this user can approve

 - [GET /me/orders/approvable](https://api-docs.sitecore.com/ordercloud/me-orders/me.listapprovableorders.md)

## Product collections

Endpoints for the currently authenticated user's product collections.

### List product collections visible to this user

 - [GET /me/productcollections](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.listproductcollections.md): Only available to Buyer Users.

### Create a product collection

 - [POST /me/productcollections](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.createproductcollection.md): Only available to Buyer Users.

### Retrieve a product collection

 - [GET /me/productcollections/{productCollectionID}](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.getproductcollection.md): Only available to Buyer Users.

### Create or update a product collection

 - [PUT /me/productcollections/{productCollectionID}](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.saveproductcollection.md): Only available to Buyer Users.

### Delete a product collection

 - [DELETE /me/productcollections/{productCollectionID}](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.deleteproductcollection.md): Only available to Buyer Users.

### Partially update a product collection

 - [PATCH /me/productcollections/{productCollectionID}](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.patchproductcollection.md): Only available to Buyer Users.

### Create a product collection entry

 - [PUT /me/productcollections/{productCollectionID}/{productID}](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.createproductcollectionentry.md): Only available to Buyer Users.

### Delete a product collection entry

 - [DELETE /me/productcollections/{productCollectionID}/{productID}](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.deleteproductcollectionentry.md): Only available to Buyer Users.

### List product collection invitations visible to this user

 - [GET /me/productcollections/{productCollectionID}/invitations](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.listproductcollectioninvitations.md): Only available to Buyer Users.

### Create a product collection invitation

 - [POST /me/productcollections/{productCollectionID}/invitations](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.createproductcollectioninvitation.md): Only available to Buyer Users.

### Retrieve a product collection invitation

 - [GET /me/productcollections/{productCollectionID}/invitations/{invitationID}](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.getproductcollectioninvitation.md): Only available to Buyer Users.

### Delete a product collection invitation

 - [DELETE /me/productcollections/{productCollectionID}/invitations/{invitationID}](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.deleteproductcollectioninvitation.md): Only available to Buyer Users.

### Partially update a product collection invitation

 - [PATCH /me/productcollections/{productCollectionID}/invitations/{invitationID}](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.patchproductcollectioninvitation.md): Only available to Buyer Users.

### Accept a product collection invitation

 - [POST /me/productcollections/{productCollectionID}/invitations/accept/{invitationID}](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.acceptproductcollectioninvitation.md)

### Decline a product collection invitation

 - [POST /me/productcollections/{productCollectionID}/invitations/decline/{invitationID}](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.declineproductcollectioninvitation.md)

### List product collection entries visible to this user

 - [GET /me/productcollections/{productCollectionID}/products](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.listproductcollectionentries.md): Only available to Buyer Users.

### Create or update a product collection entry

 - [POST /me/productcollections/{productCollectionID}/products](https://api-docs.sitecore.com/ordercloud/me-product-collections/me.saveproductcollectionentry.md): Only available to Buyer Users.

## Products

Endpoints for the currently authenticated user's products.

### List products visible to this user

 - [GET /me/products](https://api-docs.sitecore.com/ordercloud/me-products/me.listproducts.md): Only available to Buyer Users.

### Retrieve a product

 - [GET /me/products/{productID}](https://api-docs.sitecore.com/ordercloud/me-products/me.getproduct.md): Only available to Buyer Users.

### List product inventory records visible to this user

 - [GET /me/products/{productID}/inventoryrecords](https://api-docs.sitecore.com/ordercloud/me-products/me.listproductinventoryrecords.md): Only available to Buyer Users.

### List product sellers visible to this user

 - [GET /me/products/{productID}/sellers](https://api-docs.sitecore.com/ordercloud/me-products/me.listproductsellers.md): Only available to Buyer Users.

### List specs visible to this user

 - [GET /me/products/{productID}/specs](https://api-docs.sitecore.com/ordercloud/me-products/me.listspecs.md): Only available to Buyer Users.

### Retrieve a spec

 - [GET /me/products/{productID}/specs/{specID}](https://api-docs.sitecore.com/ordercloud/me-products/me.getspec.md): Only available to Buyer Users.

### List variants visible to this user

 - [GET /me/products/{productID}/variants](https://api-docs.sitecore.com/ordercloud/me-products/me.listvariants.md): Only available to Buyer Users.

### Retrieve a variant

 - [GET /me/products/{productID}/variants/{variantID}](https://api-docs.sitecore.com/ordercloud/me-products/me.getvariant.md): Only available to Buyer Users.

### List variant inventory records visible to this user

 - [GET /me/products/{productID}/variants/{variantID}/inventoryrecords](https://api-docs.sitecore.com/ordercloud/me-products/me.listvariantinventoryrecords.md): Only available to Buyer Users.

## Promotions

Endpoints for the currently authenticated user's promotions.

### List promotions visible to this user

 - [GET /me/promotions](https://api-docs.sitecore.com/ordercloud/me-promotions/me.listpromotions.md): Only available to Buyer Users.

### Retrieve a promotion

 - [GET /me/promotions/{promotionID}](https://api-docs.sitecore.com/ordercloud/me-promotions/me.getpromotion.md): Only available to Buyer Users.

## Sellers

Endpoints for the currently authenticated user's sellers.

### Get a list of sellers this user can purchase from

 - [GET /me/sellers](https://api-docs.sitecore.com/ordercloud/me-sellers/me.listbuyersellers.md): Organizations you can place orders directly to.

## Shipments

Endpoints for the currently authenticated user's shipments.

### List shipments visible to this user

 - [GET /me/shipments](https://api-docs.sitecore.com/ordercloud/me-shipments/me.listshipments.md): Only available to Buyer Users.

### Retrieve a shipment

 - [GET /me/shipments/{shipmentID}](https://api-docs.sitecore.com/ordercloud/me-shipments/me.getshipment.md): Only available to Buyer Users.

### List shipment items visible to this user

 - [GET /me/shipments/{shipmentID}/items](https://api-docs.sitecore.com/ordercloud/me-shipments/me.listshipmentitems.md): Only available to Buyer Users.

## Spending accounts

Endpoints for the currently authenticated user's spending accounts.

### List spending accounts visible to this user

 - [GET /me/spendingAccounts](https://api-docs.sitecore.com/ordercloud/me-spending-accounts/me.listspendingaccounts.md): Only available to Buyer Users.

### Retrieve a spending account

 - [GET /me/spendingaccounts/{spendingAccountID}](https://api-docs.sitecore.com/ordercloud/me-spending-accounts/me.getspendingaccount.md): Only available to Buyer Users.

## Subscriptions

Endpoints for the currently authenticated user's subscriptions.

### List subscriptions visible to this user

 - [GET /me/subscriptions](https://api-docs.sitecore.com/ordercloud/me-subscriptions/me.listsubscriptions.md)

### Create a subscription

 - [POST /me/subscriptions](https://api-docs.sitecore.com/ordercloud/me-subscriptions/me.createsubscription.md)

### Retrieve a subscription

 - [GET /me/subscriptions/{subscriptionID}](https://api-docs.sitecore.com/ordercloud/me-subscriptions/me.getsubscription.md)

### Create or update a subscription

 - [PUT /me/subscriptions/{subscriptionID}](https://api-docs.sitecore.com/ordercloud/me-subscriptions/me.savesubscription.md)

### Delete a subscription

 - [DELETE /me/subscriptions/{subscriptionID}](https://api-docs.sitecore.com/ordercloud/me-subscriptions/me.deletesubscription.md)

### Partially update a subscription

 - [PATCH /me/subscriptions/{subscriptionID}](https://api-docs.sitecore.com/ordercloud/me-subscriptions/me.patchsubscription.md)

### List subscription items visible to this user

 - [GET /me/subscriptions/{subscriptionID}/items](https://api-docs.sitecore.com/ordercloud/me-subscriptions/me.listsubscriptionitems.md)

### Create a subscription item

 - [POST /me/subscriptions/{subscriptionID}/items](https://api-docs.sitecore.com/ordercloud/me-subscriptions/me.createsubscriptionitem.md)

### Retrieve a subscription item

 - [GET /me/subscriptions/{subscriptionID}/items/{subscriptionItemID}](https://api-docs.sitecore.com/ordercloud/me-subscriptions/me.getsubscriptionitem.md)

### Create or update a subscription item

 - [PUT /me/subscriptions/{subscriptionID}/items/{subscriptionItemID}](https://api-docs.sitecore.com/ordercloud/me-subscriptions/me.savesubscriptionitem.md)

### Delete a subscription item

 - [DELETE /me/subscriptions/{subscriptionID}/items/{subscriptionItemID}](https://api-docs.sitecore.com/ordercloud/me-subscriptions/me.deletesubscriptionitem.md)

### Partially update a subscription item

 - [PATCH /me/subscriptions/{subscriptionID}/items/{subscriptionItemID}](https://api-docs.sitecore.com/ordercloud/me-subscriptions/me.patchsubscriptionitem.md)

### Create a subscription bundle item

 - [POST /me/subscriptions/{subscriptionID}/items/bundles/{bundleID}](https://api-docs.sitecore.com/ordercloud/me-subscriptions/me.createsubscriptionbundleitem.md)

### Delete a subscription bundle item

 - [DELETE /me/subscriptions/{subscriptionID}/items/bundles/{bundleID}/{bundleItemID}](https://api-docs.sitecore.com/ordercloud/me-subscriptions/me.deletesubscriptionbundleitem.md)

## User groups

Endpoints for the currently authenticated user's user groups.

### List user groups visible to this user

 - [GET /me/usergroups](https://api-docs.sitecore.com/ordercloud/me-user-groups/me.listusergroups.md): Only available to Buyer Users.

## Tracking events

Tracking events can be configured for cart, order, and user events that occur in the context of a specific API Client. When these events are triggered by user actions, like adding a line item to a cart, OrderCloud will record specifics about the event and publish a message encapsulating that information so that external systems can be synchronized accordingly. OrderCloud will only publish messages for events that have been configured for the API client in whose context they occur.

### List tracking events

 - [GET /integrations/trackingEvents](https://api-docs.sitecore.com/ordercloud/tracking-events/trackingevents.list.md)

### Create a tracking event

 - [POST /integrations/trackingEvents](https://api-docs.sitecore.com/ordercloud/tracking-events/trackingevents.create.md)

### Retrieve a tracking event

 - [GET /integrations/trackingEvents/{eventID}](https://api-docs.sitecore.com/ordercloud/tracking-events/trackingevents.get.md)

### Create or update a tracking event

 - [PUT /integrations/trackingEvents/{eventID}](https://api-docs.sitecore.com/ordercloud/tracking-events/trackingevents.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a tracking event

 - [DELETE /integrations/trackingEvents/{eventID}](https://api-docs.sitecore.com/ordercloud/tracking-events/trackingevents.delete.md)

### Partially update a tracking event

 - [PATCH /integrations/trackingEvents/{eventID}](https://api-docs.sitecore.com/ordercloud/tracking-events/trackingevents.patch.md)

## Delivery configurations

Delivery configurations let a marketplace owner to specify one or more external systems and their related configuration details. OrderCloud uses this configuration when delivering information about certain events that occur in OrderCloud, such as Tracking Events.

### List delivery configurations

 - [GET /integrations/deliveryconfig](https://api-docs.sitecore.com/ordercloud/delivery-configurations/deliveryconfigurations.list.md)

### Create a delivery configuration

 - [POST /integrations/deliveryconfig](https://api-docs.sitecore.com/ordercloud/delivery-configurations/deliveryconfigurations.create.md)

### Retrieve a delivery configuration

 - [GET /integrations/deliveryconfig/{deliveryConfigID}](https://api-docs.sitecore.com/ordercloud/delivery-configurations/deliveryconfigurations.get.md)

### Create or update a delivery configuration

 - [PUT /integrations/deliveryconfig/{deliveryConfigID}](https://api-docs.sitecore.com/ordercloud/delivery-configurations/deliveryconfigurations.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a delivery configuration

 - [DELETE /integrations/deliveryconfig/{deliveryConfigID}](https://api-docs.sitecore.com/ordercloud/delivery-configurations/deliveryconfigurations.delete.md)

### Partially update a delivery configuration

 - [PATCH /integrations/deliveryconfig/{deliveryConfigID}](https://api-docs.sitecore.com/ordercloud/delivery-configurations/deliveryconfigurations.patch.md)

## Entity synchronization

Entity synchronization lets marketplace owners to configure synchronization for different types of base entities changes with external systems.

### Retrieve the entity sync delivery configuration for admin users

 - [GET /integrations/entitysync/adminusers](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.getadminusers.md): Get the entity sync delivery configuration for AdminUsers

### Create or update the entity sync delivery configuration for admin users

 - [PUT /integrations/entitysync/adminusers](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.saveadminusers.md): Create or update the entity sync delivery configuration for AdminUsers

### Delete the entity sync delivery configuration for admin users

 - [DELETE /integrations/entitysync/adminusers](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.deleteadminusers.md): Delete the entity sync delivery configuration for AdminUsers

### Partially update the entity sync delivery configuration for admin users

 - [PATCH /integrations/entitysync/adminusers](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.patchadminusers.md): Partially update the entity sync delivery configuration for AdminUsers

### Sync an admin user

 - [POST /integrations/entitysync/adminusers/sync](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.syncadminuser.md)

### Retrieve the entity sync delivery configuration for buyers

 - [GET /integrations/entitysync/buyers](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.getbuyers.md): Get the entity sync delivery configuration for Buyers

### Create or update the entity sync delivery configuration for buyers

 - [PUT /integrations/entitysync/buyers](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.savebuyers.md): Create or update the entity sync delivery configuration for Buyers

### Delete the entity sync delivery configuration for buyers

 - [DELETE /integrations/entitysync/buyers](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.deletebuyers.md): Delete the entity sync delivery configuration for Buyers

### Partially update the entity sync delivery configuration for buyers

 - [PATCH /integrations/entitysync/buyers](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.patchbuyers.md): Partially update the entity sync delivery configuration for Buyers

### Sync a buyer

 - [POST /integrations/entitysync/buyers/sync](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.syncbuyer.md)

### Retrieve the entity sync delivery configuration for buyer user groups

 - [GET /integrations/entitysync/buyers/usergroups](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.getbuyerusergroups.md): Get the entity sync delivery configuration for BuyerUserGroups

### Create or update the entity sync delivery configuration for buyer user groups

 - [PUT /integrations/entitysync/buyers/usergroups](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.saveusergroups.md): Create or update the entity sync delivery configuration for BuyerUserGroups

### Delete the entity sync delivery configuration for buyer user groups

 - [DELETE /integrations/entitysync/buyers/usergroups](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.deleteusergroups.md): Delete the entity sync delivery configuration for BuyerUserGroups

### Partially update the entity sync delivery configuration for buyer user groups

 - [PATCH /integrations/entitysync/buyers/usergroups](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.patchbuyerusergroups.md): Partially update the entity sync delivery configuration for BuyerUserGroups

### Sync a buyer user group

 - [POST /integrations/entitysync/buyers/usergroups/sync](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.syncbuyerusergroup.md)

### Retrieve the entity sync delivery configuration for buyer users

 - [GET /integrations/entitysync/buyers/users](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.getbuyerusers.md): Get the entity sync delivery configuration for BuyerUsers

### Create or update the entity sync delivery configuration for buyer users

 - [PUT /integrations/entitysync/buyers/users](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.savebuyerusers.md): Create or update the entity sync delivery configuration for BuyerUsers

### Delete the entity sync delivery configuration for buyer users

 - [DELETE /integrations/entitysync/buyers/users](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.deletebuyerusers.md): Delete the entity sync delivery configuration for BuyerUsers

### Partially update the entity sync delivery configuration for buyer users

 - [PATCH /integrations/entitysync/buyers/users](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.patchbuyerusers.md): Partially update the entity sync delivery configuration for BuyerUsers

### Sync a buyer user

 - [POST /integrations/entitysync/buyers/users/sync](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.syncbuyeruser.md)

### Retrieve the entity sync delivery configuration for categories

 - [GET /integrations/entitysync/categories](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.getcategories.md): Get the entity sync delivery configuration for Categories

### Create or update the entity sync delivery configuration for categories

 - [PUT /integrations/entitysync/categories](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.savecategories.md): Create or update the entity sync delivery configuration for Categories

### Delete the entity sync delivery configuration for categories

 - [DELETE /integrations/entitysync/categories](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.deletecategories.md): Delete the entity sync delivery configuration for Categories

### Partially update the entity sync delivery configuration for categories

 - [PATCH /integrations/entitysync/categories](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.patchcategories.md): Partially update the entity sync delivery configuration for Categories

### Sync a category

 - [POST /integrations/entitysync/categories/sync](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.synccategory.md)

### Retrieve the entity sync delivery configuration for inventory records

 - [GET /integrations/entitysync/products/inventoryrecords](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.getinventoryrecords.md): Get the entity sync delivery configuration for InventoryRecords

### Create or update the entity sync delivery configuration for inventory records

 - [PUT /integrations/entitysync/products/inventoryrecords](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.saveinventoryrecords.md): Create or update the entity sync delivery configuration for InventoryRecords

### Delete the entity sync delivery configuration for inventory records

 - [DELETE /integrations/entitysync/products/inventoryrecords](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.deleteinventoryrecords.md): Delete the entity sync delivery configuration for InventoryRecords

### Partially update the entity sync delivery configuration for inventory records

 - [PATCH /integrations/entitysync/products/inventoryrecords](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.patchinventoryrecords.md): Partially update the entity sync delivery configuration for InventoryRecords

### Sync an inventory record

 - [POST /integrations/entitysync/products/inventoryrecords/sync](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.syncinventoryrecord.md)

### Sync a supplier

 - [POST /integrations/entitysync/supplier/sync](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.syncsupplier.md)

### Retrieve the entity sync delivery configuration for suppliers

 - [GET /integrations/entitysync/suppliers](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.getsuppliers.md): Get the entity sync delivery configuration for Suppliers

### Create or update the entity sync delivery configuration for suppliers

 - [PUT /integrations/entitysync/suppliers](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.savesuppliers.md): Create or update the entity sync delivery configuration for Suppliers

### Delete the entity sync delivery configuration for suppliers

 - [DELETE /integrations/entitysync/suppliers](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.deletesuppliers.md): Delete the entity sync delivery configuration for Suppliers

### Partially update the entity sync delivery configuration for suppliers

 - [PATCH /integrations/entitysync/suppliers](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.patchsuppliers.md): Partially update the entity sync delivery configuration for Suppliers

### Retrieve the entity sync delivery configuration for supplier users

 - [GET /integrations/entitysync/suppliers/users](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.getsupplierusers.md): Get the entity sync delivery configuration for SupplierUsers

### Create or update the entity sync delivery configuration for supplier users

 - [PUT /integrations/entitysync/suppliers/users](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.savesupplierusers.md): Create or update the entity sync delivery configuration for SupplierUsers

### Delete the entity sync delivery configuration for supplier users

 - [DELETE /integrations/entitysync/suppliers/users](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.deletesupplierusers.md): Delete the entity sync delivery configuration for SupplierUsers

### Partially update the entity sync delivery configuration for supplier users

 - [PATCH /integrations/entitysync/suppliers/users](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.patchsupplierusers.md): Partially update the entity sync delivery configuration for SupplierUsers

### Sync a supplier user

 - [POST /integrations/entitysync/suppliers/users/sync](https://api-docs.sitecore.com/ordercloud/entity-synchronization/entitysyncs.syncsupplieruser.md)

## Error configs

Error configurations let a marketplace owner to get notifications when errors occur during processing events, such as product synchronization or post-webhook delivery.

### Retrieve an error config

 - [GET /integrations/ErrorConfig](https://api-docs.sitecore.com/ordercloud/error-configs/errorconfigs.get.md)

### Create or update an error config

 - [PUT /integrations/ErrorConfig](https://api-docs.sitecore.com/ordercloud/error-configs/errorconfigs.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an error config

 - [DELETE /integrations/ErrorConfig](https://api-docs.sitecore.com/ordercloud/error-configs/errorconfigs.delete.md)

### Partially update an error config

 - [PATCH /integrations/ErrorConfig](https://api-docs.sitecore.com/ordercloud/error-configs/errorconfigs.patch.md)

### Validates an error config

 - [POST /integrations/ErrorConfig/validate](https://api-docs.sitecore.com/ordercloud/error-configs/errorconfigs.validate.md)

## Integration events

Integration events let you configure connections to your middleware to process custom logic related to your solution. The available types are OrderCheckout, OpenIDConnect, OrderReturn, and AddToCart.

### List integration events

 - [GET /integrationEvents](https://api-docs.sitecore.com/ordercloud/integration-events/integrationevents.list.md)

### Create an integration event

 - [POST /integrationEvents](https://api-docs.sitecore.com/ordercloud/integration-events/integrationevents.create.md)

### Retrieve an integration event

 - [GET /integrationEvents/{integrationEventID}](https://api-docs.sitecore.com/ordercloud/integration-events/integrationevents.get.md)

### Create or update an integration event

 - [PUT /integrationEvents/{integrationEventID}](https://api-docs.sitecore.com/ordercloud/integration-events/integrationevents.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an integration event

 - [DELETE /integrationEvents/{integrationEventID}](https://api-docs.sitecore.com/ordercloud/integration-events/integrationevents.delete.md)

### Partially update an integration event

 - [PATCH /integrationEvents/{integrationEventID}](https://api-docs.sitecore.com/ordercloud/integration-events/integrationevents.patch.md)

### Calculate an order

 - [POST /orders/{direction}/{orderID}/calculate](https://api-docs.sitecore.com/ordercloud/integration-events/integrationevents.calculate.md)

### Estimate shipping cost

 - [POST /orders/{direction}/{orderID}/estimateshipping](https://api-docs.sitecore.com/ordercloud/integration-events/integrationevents.estimateshipping.md)

### Select a ship method

 - [POST /orders/{direction}/{orderID}/shipmethods](https://api-docs.sitecore.com/ordercloud/integration-events/integrationevents.selectshipmethods.md)

### Get a single order worksheet

 - [GET /orders/{direction}/{orderID}/worksheet](https://api-docs.sitecore.com/ordercloud/integration-events/integrationevents.getworksheet.md)

## Inventory

Required for inventory notifications. The inventory update will be sent to the URL specified in this resource.

### Retrieve an inventory integration

 - [GET /integrations/inventory](https://api-docs.sitecore.com/ordercloud/inventory/inventoryintegrations.get.md)

### Create or update an inventory integration

 - [PUT /integrations/inventory](https://api-docs.sitecore.com/ordercloud/inventory/inventoryintegrations.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an inventory integration

 - [DELETE /integrations/inventory](https://api-docs.sitecore.com/ordercloud/inventory/inventoryintegrations.delete.md)

### Partially update an inventory integration

 - [PATCH /integrations/inventory](https://api-docs.sitecore.com/ordercloud/inventory/inventoryintegrations.patch.md)

## Message senders

Message senders enable the delivery of event-driven notifications to users. Each message sender handles a group of predefined MessageTypes, which you can assign to the parties that should receive those emails.

### List message senders

 - [GET /messagesenders](https://api-docs.sitecore.com/ordercloud/message-senders/messagesenders.list.md)

### Create a message sender

 - [POST /messagesenders](https://api-docs.sitecore.com/ordercloud/message-senders/messagesenders.create.md)

### Retrieve a message sender

 - [GET /messagesenders/{messageSenderID}](https://api-docs.sitecore.com/ordercloud/message-senders/messagesenders.get.md)

### Create or update a message sender

 - [PUT /messagesenders/{messageSenderID}](https://api-docs.sitecore.com/ordercloud/message-senders/messagesenders.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a message sender

 - [DELETE /messagesenders/{messageSenderID}](https://api-docs.sitecore.com/ordercloud/message-senders/messagesenders.delete.md)

### Partially update a message sender

 - [PATCH /messagesenders/{messageSenderID}](https://api-docs.sitecore.com/ordercloud/message-senders/messagesenders.patch.md)

### Delete a message sender assignment

 - [DELETE /messagesenders/{messageSenderID}/assignments](https://api-docs.sitecore.com/ordercloud/message-senders/messagesenders.deleteassignment.md)

### List message sender assignments

 - [GET /messagesenders/assignments](https://api-docs.sitecore.com/ordercloud/message-senders/messagesenders.listassignments.md)

### Create or update a message sender assignment

 - [POST /messagesenders/assignments](https://api-docs.sitecore.com/ordercloud/message-senders/messagesenders.saveassignment.md)

### List message sender cc listener assignments

 - [GET /messagesenders/CCListenerAssignments](https://api-docs.sitecore.com/ordercloud/message-senders/messagesenders.listcclistenerassignments.md)

### Create or update a message sender cc listener assignment

 - [POST /messagesenders/CCListenerAssignments](https://api-docs.sitecore.com/ordercloud/message-senders/messagesenders.savecclistenerassignment.md)

## Order synchronization

Order synchronization lets a marketplace owner configure synchronization of orders to external systems.

### Retrieve an order sync

 - [GET /integrations/OrderSync](https://api-docs.sitecore.com/ordercloud/order-synchronization/ordersyncs.get.md)

### Create or update an order sync

 - [PUT /integrations/OrderSync](https://api-docs.sitecore.com/ordercloud/order-synchronization/ordersyncs.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete an order sync

 - [DELETE /integrations/OrderSync](https://api-docs.sitecore.com/ordercloud/order-synchronization/ordersyncs.delete.md)

### Partially update an order sync

 - [PATCH /integrations/OrderSync](https://api-docs.sitecore.com/ordercloud/order-synchronization/ordersyncs.patch.md)

## Product synchronization

Product synchronization lets a marketplace owner configure synchronization of products to external systems.

### Retrieve a product sync

 - [GET /integrations/productsync](https://api-docs.sitecore.com/ordercloud/product-synchronization/productsyncs.get.md)

### Create or update a product sync

 - [PUT /integrations/productsync](https://api-docs.sitecore.com/ordercloud/product-synchronization/productsyncs.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a product sync

 - [DELETE /integrations/productsync](https://api-docs.sitecore.com/ordercloud/product-synchronization/productsyncs.delete.md)

### Partially update a product sync

 - [PATCH /integrations/productsync](https://api-docs.sitecore.com/ordercloud/product-synchronization/productsyncs.patch.md)

### Sync a product

 - [POST /integrations/productsync/sync](https://api-docs.sitecore.com/ordercloud/product-synchronization/productsyncs.sync.md)

## Promotion

Required for evaluation of promotions where UseIntegration is true. The promotion with order or line item data will be sent to the URL specified in this resource.

### Retrieve a promotion integration

 - [GET /integrations/promotion](https://api-docs.sitecore.com/ordercloud/promotion/promotionintegrations.get.md)

### Create or update a promotion integration

 - [PUT /integrations/promotion](https://api-docs.sitecore.com/ordercloud/promotion/promotionintegrations.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a promotion integration

 - [DELETE /integrations/promotion](https://api-docs.sitecore.com/ordercloud/promotion/promotionintegrations.delete.md)

### Partially update a promotion integration

 - [PATCH /integrations/promotion](https://api-docs.sitecore.com/ordercloud/promotion/promotionintegrations.patch.md)

## Subscription

Required for processing subscription orders. When a subscription is due to be processed, an order, line items, and payment will be created. The order and subscription will be sent to the URL specified in this resource.

### Retrieve a subscription integration

 - [GET /integrations/subscription](https://api-docs.sitecore.com/ordercloud/subscription/subscriptionintegrations.get.md)

### Create or update a subscription integration

 - [PUT /integrations/subscription](https://api-docs.sitecore.com/ordercloud/subscription/subscriptionintegrations.save.md): If an object with the same ID already exists, it will be overwritten.

### Delete a subscription integration

 - [DELETE /integrations/subscription](https://api-docs.sitecore.com/ordercloud/subscription/subscriptionintegrations.delete.md)

### Partially update a subscription integration

 - [PATCH /integrations/subscription](https://api-docs.sitecore.com/ordercloud/subscription/subscriptionintegrations.patch.md)

