# Create a membership

To create a new membership, send a `POST` request to the `/api/memberships` endpoint, passing the resource arguments in the request body.

## Request

**POST** <https://provisioning.commercelayer.io/ap&#x69;**/memberships>\*\*

### Arguments

| Body Parameter                             | Type     | Required |
| ------------------------------------------ | -------- | -------- |
| **type**                                   | `string` | Required |
| attributes.**user\_email**                 | `string` | Required |
| attributes.**access\_scope**               | `string` | Optional |
| attributes.**reference**                   | `string` | Optional |
| attributes.**reference\_origin**           | `string` | Optional |
| attributes.**metadata**                    | `object` | Optional |
| relationships.**organization**             | `object` | Required |
| relationships.**role**                     | `object` | Required |
| relationships.**application\_memberships** | `array`  | Optional |
| relationships.**membership\_profile**      | `object` | Optional |

### Example

{% tabs %}
{% tab title="Request" %}
The following request creates a new membership:

```sh
curl -g -X POST \
  'https://provisioning.commercelayer.io/api/memberships' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Authorization: Bearer {{your_access_token}}' \
  -H 'Content-Type: application/vnd.api+json' \
  -d '{
  "data": {
    "type": "memberships",
    "attributes": {
      "user_email": "commercelayer@commercelayer.io"
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "ABCRtyUpBa"
        }
      },
      "role": {
        "data": {
          "type": "roles",
          "id": "BCDRtyUpBa"
        }
      }
    }
  }
}'
```

{% endtab %}

{% tab title="Response" %}
On success, the API responds with a `201 Created` status code, returning the created resource object:

```javascript
{
  "data": {
    "id": "xYZkjABcde",
    "type": "memberships",
    "links": {
      "self": "https://provisioning.commercelayer.io/api/memberships/xYZkjABcde"
    },
    "attributes": {
      "user_email": "commercelayer@commercelayer.io",
      "user_first_name": "John",
      "user_last_name": "Doe",
      "status": "pending",
      "owner": true,
      "test_enabled": false,
      "access_scope": "live_access",
      "created_at": "2018-01-01T12:00:00.000Z",
      "updated_at": "2018-01-01T12:00:00.000Z",
      "reference": "ANY-EXTERNAL-REFEFERNCE",
      "reference_origin": "ANY-EXTERNAL-REFEFERNCE-ORIGIN",
      "metadata": {
        "foo": "bar"
      }
    },
    "relationships": {
      "organization": {
        "links": {
          "self": "https://provisioning.commercelayer.io/api/memberships/xYZkjABcde/relationships/organization",
          "related": "https://provisioning.commercelayer.io/api/memberships/xYZkjABcde/organization"
        }
      },
      "role": {
        "links": {
          "self": "https://provisioning.commercelayer.io/api/memberships/xYZkjABcde/relationships/role",
          "related": "https://provisioning.commercelayer.io/api/memberships/xYZkjABcde/role"
        }
      },
      "application_memberships": {
        "links": {
          "self": "https://provisioning.commercelayer.io/api/memberships/xYZkjABcde/relationships/application_memberships",
          "related": "https://provisioning.commercelayer.io/api/memberships/xYZkjABcde/application_memberships"
        }
      },
      "membership_profile": {
        "links": {
          "self": "https://provisioning.commercelayer.io/api/memberships/xYZkjABcde/relationships/membership_profile",
          "related": "https://provisioning.commercelayer.io/api/memberships/xYZkjABcde/membership_profile"
        }
      },
      "versions": {
        "links": {
          "self": "https://provisioning.commercelayer.io/api/memberships/xYZkjABcde/relationships/versions",
          "related": "https://provisioning.commercelayer.io/api/memberships/xYZkjABcde/versions"
        }
      }
    }
  }
}
```

{% endtab %}
{% endtabs %}
