Skip to main content
Customer profile and address endpoints require a bearer token. You can also send x-partner-id with the integration ID used by checkout and support flows.
Authorization: Bearer <access_token>
x-partner-id: <integration_id>

Get profile

MethodEndpointAuth
GET/users/meBearer token
Request:
curl https://dev-api.keystonecommerce.in/api/v1/users/me \
  -H "Authorization: Bearer <access_token>" \
  -H "x-partner-id: <integration_id>"
Response:
{
  "statusCode": 200,
  "message": "Success",
  "data": {
    "id": "cmr928qjc000002s6nh2ufmo2",
    "partnerId": "<integration_id>",
    "phone": "<customer_phone>",
    "name": "<customer_name>",
    "email": "<customer_email>",
    "role": "USER",
    "addresses": []
  }
}

Update profile

MethodEndpointAuth
PATCH/users/meBearer token
Request:
curl -X PATCH https://dev-api.keystonecommerce.in/api/v1/users/me \
  -H "Authorization: Bearer <access_token>" \
  -H "x-partner-id: <integration_id>" \
  -H "Content-Type: application/json" \
  -d '{"name":"<customer_name>","email":"<customer_email>"}'
Body:
{
  "name": "<customer_name>",
  "email": "<customer_email>"
}
Response:
{
  "statusCode": 200,
  "message": "Success",
  "data": {
    "id": "cmr928qjc000002s6nh2ufmo2",
    "partnerId": "<integration_id>",
    "phone": "<customer_phone>",
    "name": "<customer_name>",
    "email": "<customer_email>",
    "role": "USER"
  }
}

List addresses

MethodEndpointAuth
GET/users/me/addressesBearer token
Request:
curl https://dev-api.keystonecommerce.in/api/v1/users/me/addresses \
  -H "Authorization: Bearer <access_token>" \
  -H "x-partner-id: <integration_id>"
Response:
{
  "statusCode": 200,
  "message": "Success",
  "data": [
    {
      "id": "cmr928qzz000202s6f59zezkm",
      "userId": "cmr928qjc000002s6nh2ufmo2",
      "label": "Home",
      "line1": "221B MG Road",
      "line2": "Near Trinity Metro",
      "city": "Bengaluru",
      "state": "Karnataka",
      "pincode": "560001",
      "isDefault": true
    }
  ]
}

Create address

MethodEndpointAuth
POST/users/me/addressesBearer token
Request:
curl -X POST https://dev-api.keystonecommerce.in/api/v1/users/me/addresses \
  -H "Authorization: Bearer <access_token>" \
  -H "x-partner-id: <integration_id>" \
  -H "Content-Type: application/json" \
  -d '{
    "label": "Home",
    "line1": "221B MG Road",
    "line2": "Near Trinity Metro",
    "city": "Bengaluru",
    "state": "Karnataka",
    "pincode": "560001",
    "isDefault": true
  }'
Response:
{
  "statusCode": 200,
  "message": "Success",
  "data": {
    "id": "cmr928qzz000202s6f59zezkm",
    "label": "Home",
    "line1": "221B MG Road",
    "line2": "Near Trinity Metro",
    "city": "Bengaluru",
    "state": "Karnataka",
    "pincode": "560001",
    "isDefault": true
  }
}

Update address

MethodEndpointAuth
PATCH/users/me/addresses/{addressId}Bearer token
Request:
curl -X PATCH https://dev-api.keystonecommerce.in/api/v1/users/me/addresses/cmr928qzz000202s6f59zezkm \
  -H "Authorization: Bearer <access_token>" \
  -H "x-partner-id: <integration_id>" \
  -H "Content-Type: application/json" \
  -d '{"label":"Work","line2":"Floor 4"}'
Response:
{
  "statusCode": 200,
  "message": "Success",
  "data": {
    "id": "cmr928qzz000202s6f59zezkm",
    "label": "Work",
    "line1": "221B MG Road",
    "line2": "Floor 4",
    "city": "Bengaluru",
    "state": "Karnataka",
    "pincode": "560001",
    "isDefault": true
  }
}

Delete address

MethodEndpointAuth
DELETE/users/me/addresses/{addressId}Bearer token
Request:
curl -X DELETE https://dev-api.keystonecommerce.in/api/v1/users/me/addresses/cmr928qzz000202s6f59zezkm \
  -H "Authorization: Bearer <access_token>" \
  -H "x-partner-id: <integration_id>"
Response:
{
  "statusCode": 200,
  "message": "Success",
  "data": {
    "id": "cmr928qzz000202s6f59zezkm",
    "label": "Work",
    "line1": "221B MG Road",
    "line2": "Floor 4",
    "city": "Bengaluru",
    "state": "Karnataka",
    "pincode": "560001",
    "isDefault": true
  }
}