01.software Docs

Create a Cart

Use the SDK for application integration. This read-only reference covers Commerce, Customer Auth, Membership and Events.

All HTTP operations
POST
/api/carts/create

Deliberately non-idempotent. A successful response mints the only Cart capability returned by this operation. One canonical transport with credential-specific request and response variants. Server bodies require the admitted server credential; browser/customer bodies retain their capability boundary.

Authorization

headerX-Publishable-Key<token>

Tenant publishable key for authentication (sent via X-Publishable-Key header)

Request Body

application/json
  1. body
market?string
Length1 <= length <= 255
attributes?array<>

Attribute keys must be unique. OpenAPI 3.0 cannot express uniqueness by one object property, so servers enforce this rule.

Itemsitems <= 50

Response Body

Create a Cart result

application/json
  1. response
cart*
warnings*array<>
cartToken*string
Length1 <= length <= 512

Examples may be generated from schemas; they are illustrative, not recorded successful API calls. Example snippets may omit required authentication headers.

Example Request
curl -X POST 'https://api.01.software/api/carts/create' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "cart": {    "id": "string",    "status": "active",    "revision": 0,    "currency": "string",    "market": {      "id": "string",      "handle": "string",      "name": "string"    },    "subtotalMinor": 0,    "discountMinor": 0,    "estimatedTotalMinor": 0,    "discountCodes": [      {        "code": "string",        "applicable": true      }    ],    "attributes": [      {        "key": "string",        "value": "string"      }    ],    "items": [      {        "id": "string",        "product": {          "id": "string",          "title": "string",          "handle": "string",          "image": "string"        },        "variant": {          "id": "string",          "title": "string",          "handle": "string",          "image": "string"        },        "admissions": [          {            "eventId": "string",            "occurrenceId": "string",            "admissionTypeId": "string"          }        ],        "quantity": 1,        "unitPriceMinor": 0,        "discountMinor": 0,        "estimatedLineTotalMinor": 0,        "requiresShipping": true      }    ],    "expiresAt": "2019-08-24T14:15:22Z",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  },  "warnings": [    {      "code": "DISCOUNT_CODE_NOT_HONOURED",      "message": "string",      "target": "string"    }  ],  "cartToken": "string"}

Credential variants

Credential-specific requirements from the public OpenAPI projection: Full response schemas appear in Response Body.

[
  {
    "security": [
      {
        "publishableKey": []
      },
      {
        "publishableKey": [],
        "customerBearerAuth": []
      }
    ],
    "requestSchema": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "market": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "attributes": {
          "type": "array",
          "maxItems": 50,
          "description": "Attribute keys must be unique. OpenAPI 3.0 cannot express uniqueness by one object property, so servers enforce this rule.",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "minLength": 1,
                "maxLength": 40,
                "pattern": "^(?!__)",
                "description": "Attribute keys beginning with __ are reserved."
              },
              "value": {
                "type": "string",
                "maxLength": 500
              }
            }
          }
        }
      }
    },
    "responseSchema": "CreateCartResult"
  },
  {
    "security": [
      {
        "publishableKey": [],
        "bearerAuth": []
      }
    ],
    "requestSchema": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "market": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "attributes": {
          "type": "array",
          "maxItems": 50,
          "description": "Attribute keys must be unique. OpenAPI 3.0 cannot express uniqueness by one object property, so servers enforce this rule.",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "minLength": 1,
                "maxLength": 40,
                "pattern": "^(?!__)",
                "description": "Attribute keys beginning with __ are reserved."
              },
              "value": {
                "type": "string",
                "maxLength": 500
              }
            }
          }
        }
      }
    },
    "responseSchema": "CreateCartResult"
  }
]