# Update Subscription

Use the `updateSubscription` mutation to update a user's subscription level.&#x20;

This mutation is only available using your app's secret token, sending the header `Authorization: Token <secret-token>`. The mutation won't work and will throw an error if you try to use it logged in as a user.

You have to send `profileId` or `userId`. At least one is required.

### Required Argument

| **Argument Name** | **Type** | **Description**                                                    |
| ----------------- | -------- | ------------------------------------------------------------------ |
| `subscriptionId`  | ID!      | Unique Subscription ID. Use the subscriptions query to get the ID. |

### Available Fields

| **Argument Name** | **Type** | **Description**        |
| ----------------- | -------- | ---------------------- |
| `profileId`       | String   | Unique user profile ID |
| `userId`          | String   | Unique user ID         |

### Example

{% tabs %}
{% tab title="Mutation" %}

```graphql
mutation {
  updateSubscription(
    userId: "e2e3cd2a-3721-438d-a439-e3527077278e",
    subscriptionId: "U3Vic2NyaXB0aW9uOmViNjNlYzlmLWNlYzQtNGM1Mi05ZDAyLWFkYzI5YzA4NzUxYQ=="
  ) {
    message
    success
  }
}
```

{% endtab %}

{% tab title="Response" %}

```graphql
{
  "data": {
    "updateSubscription": {
      "message": "Ok",
      "success": true
    }
  }
}
```

{% endtab %}
{% endtabs %}

Please note that you DO NOT have to send the `SG-User` header for this query, and that the`subscriptionId`field is:`Subscription:subscription_id` converted to base 64. For example:

```bash
> echo "Subscription:eb63ec9f-cec4-4c52-9d02-adc29c08751a" | base64
U3Vic2NyaXB0aW9uOmViNjNlYzlmLWNlYzQtNGM1Mi05ZDAyLWFkYzI5YzA4NzUxYQo=
```
