API Subscriptions (GQL)
List a user or team's Subscriptions
The following lists the Subscriptions of the user or team calling the query:
query subscriptions(
$where: SubscriptionsWhereInput,
$pagination: PaginationInput) {
subscriptions(
where: $where,
pagination: $pagination) {
nodes{
id
userId
apiId
status
}
}
}
{
"where": {},
"pagination": {
"first": 10
}
}
List an API's Subscriptions
The following lists the personal users and teams subscribed to an API. You must specify the apiId.
query subscriptions($where: SubscriptionsWhereInput, $pagination: PaginationInput) {
subscriptions(where: $where, pagination: $pagination) {
nodes {
id
entity {
type
name
email
id
}
status
createdAt
canceledAt
api {
id
name
}
}
totalCount
}
}
{
"where": {
"apiId": "api_f6108c78-5ee7-40e5-b177-7b740c96ef2a",
"pagingArgs": {
"limit": -1,
"orderBy": "createdAt",
"orderDirection": "desc"
}
}
}
Additionally, you can view the Subscriptions in the user interface Studio's Hub Listing - Community Tab.
Create a user or team API Subscription
For APIs that use the RapidAPI Proxy
The following creates a user or team Subscription to an API. If the ownerId is a user, it creates a user Subscription. If the ownerId is a team, it creates a team Subscription.
You must specify the billingPlanVersionId, which can be obtained using query.billingPlanVersions (shown below this query).
mutation CreateSubscription($input: SubscriptionCreateInput!) {
createSubscription(input: $input) {
id
apiId
status
__typename
}
}
{
"input": {
"apiId": "api_81eaf459-fd5f-4239-ae64-ab9f06559888",
"billingPlanVersionId": "billingplanversion_62cb69e2-0503-4f82-83d0-4c6ed78dc2c4",
"ownerId": "6028339"
}
}
Obtain an API's billing plan versions
query BillingPlanVersions($where: BillingPlanVersionWhereInput) {
billingPlanVersions(where: $where) {
nodes {
id
name
price
pricing
}
}
}
{
"where": {
"apiId": "api_81eaf459-fd5f-4239-ae64-ab9f06559888"
},
"pagination": {
"first": "50"
}
}
For APIs that do not use the RapidAPI Proxy
The createExternalGatewayApiSubscription mutation can be used to subscribe a user or team to an API version, independent of whether the API uses the RapidAPI Proxy. No billingPlanVersionId (see above) needs to be provided.
This mutation will subscribe the user or team that owns the X-RapidAPI-Key used to make the call to a specific version of an API. If the apiVersionId is not provided, the Current API version will be used.
For private APIs, the user or team must be invited to use the API that they want to subscribe to before this mutation will work.
mutation CreateExternalGatewayApiSubscription($input: ExternalGatewaySubscriptionCreateInput!) {
createExternalGatewayApiSubscription(input: $input) {
id
apiId
apiVersionId
status
__typename
}
}
{
"input": {
"apiId": "api_6040d9e7-3d00-43d5-bc51-b7e10c3348ea"
}
}
Delete an API subscription
The id of the subscription must be specified. You can obtain this using query.subscriptions (see above).
mutation deleteSubscription($id: ID!) {
deleteSubscription(id: $id)
}
{
"id": "4460204"
}
Updated about 2 years ago
