Plugins

Endpoints for the plugins for claims

Get Plugin

get
/plugin/{pluginId}

Gets a plugin by specific ID.

await BitBadgesApi.getPlugin("plugin123", { ... });

SDK Links:

Scopes:

  • Full Access: Required for private plugins

Authorizations
Path parameters
pluginIdstringRequired

Plugin ID

Responses
200

Success response

application/json
get
/plugin/{pluginId}
GET /api/v0/plugin/{pluginId} HTTP/1.1
Host: api.bitbadges.io
x-api-key: YOUR_API_KEY
Accept: */*
{
  "plugin": {
    "_docId": "text",
    "_id": "text",
    "createdBy": "bb1...",
    "managedBy": "bb1...",
    "pluginId": "text",
    "pluginSecret": "text",
    "inviteCode": "text",
    "toPublish": true,
    "reviewCompleted": true,
    "metadata": {
      "createdBy": "text",
      "name": "Name",
      "description": "Brief description.",
      "image": "https://example.com/image.png",
      "parentApp": "text",
      "documentation": "text",
      "sourceCode": "text",
      "supportLink": "text"
    },
    "locale": "text",
    "lastUpdated": "1713301889",
    "createdAt": "1713301889",
    "deletedAt": "1713301889",
    "approvedUsers": [
      "0x..."
    ],
    "versions": [
      {
        "version": 1,
        "finalized": true,
        "createdAt": "1713301889",
        "lastUpdated": "1713301889",
        "reuseForNonIndexed": true,
        "receiveStatusWebhook": true,
        "skipProcessingWebhook": true,
        "ignoreSimulations": true,
        "stateFunctionPreset": null,
        "duplicatesAllowed": true,
        "requiresSessions": true,
        "requiresUserInputs": true,
        "userInputsSchema": [
          {
            "key": "text",
            "label": "text",
            "type": "text",
            "hyperlink": {
              "url": "text",
              "showAsGenericView": true
            },
            "helper": "text",
            "headerField": true,
            "required": true,
            "hideFromDetailsDisplay": true,
            "defaultValue": "text",
            "options": [
              {
                "label": "text",
                "value": "text"
              }
            ],
            "arrayField": true
          }
        ],
        "publicParamsSchema": [
          {
            "key": "text",
            "label": "text",
            "type": "text",
            "hyperlink": {
              "url": "text",
              "showAsGenericView": true
            },
            "helper": "text",
            "headerField": true,
            "required": true,
            "hideFromDetailsDisplay": true,
            "defaultValue": "text",
            "options": [
              {
                "label": "text",
                "value": "text"
              }
            ],
            "arrayField": true
          }
        ],
        "privateParamsSchema": [
          {
            "key": "text",
            "label": "text",
            "type": "text",
            "hyperlink": {
              "url": "text",
              "showAsGenericView": true
            },
            "helper": "text",
            "headerField": true,
            "required": true,
            "hideFromDetailsDisplay": true,
            "defaultValue": "text",
            "options": [
              {
                "label": "text",
                "value": "text"
              }
            ],
            "arrayField": true
          }
        ],
        "userInputRedirect": {
          "baseUri": "text",
          "tutorialUri": "text"
        },
        "claimCreatorRedirect": {
          "toolUri": "text",
          "tutorialUri": "text",
          "testerUri": "text"
        },
        "verificationCall": {
          "uri": "https://example.com",
          "method": "POST",
          "hardcodedInputs": [
            {
              "key": "text",
              "label": "text",
              "type": "text",
              "value": "text",
              "headerField": true
            }
          ],
          "passAddress": true,
          "passDiscord": true,
          "passEmail": true,
          "passTwitter": true,
          "passGoogle": true,
          "passYoutube": true,
          "passGithub": true,
          "passTwitch": true,
          "passStrava": true,
          "passReddit": true,
          "passBluesky": true,
          "passShopify": true,
          "passFacebook": true,
          "passTelegram": true,
          "passFarcaster": true,
          "passSlack": true,
          "passMeetup": true,
          "passMailchimp": true,
          "postProcessingJs": "text"
        },
        "customDetailsDisplay": "text",
        "requireSignIn": true
      }
    ]
  }
}

Get Plugins - Batch

post
/plugins/fetch

Fetches plugins based on the provided criteria.

await BitBadgesApi.getPlugins(...);

SDK Links:

Scopes:

  • Full Access - Required for private plugins

Authorizations
Header parameters
x-api-keystringRequired

BitBadges API Key for authentication

Body
pluginIdsstring[]Required

If true, we will fetch only the specific plugin with the plugin ID (no secrets).

inviteCodestringOptional

Invite code to fetch the plugin with.

Responses
200

Success response

application/json
post
/plugins/fetch
POST /api/v0/plugins/fetch HTTP/1.1
Host: api.bitbadges.io
x-api-key: text
Authorization: cookie YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 42

{
  "pluginIds": [
    "text"
  ],
  "inviteCode": "text"
}
{
  "plugin": {
    "_docId": "text",
    "_id": "text",
    "createdBy": "bb1...",
    "managedBy": "bb1...",
    "pluginId": "text",
    "pluginSecret": "text",
    "inviteCode": "text",
    "toPublish": true,
    "reviewCompleted": true,
    "metadata": {
      "createdBy": "text",
      "name": "Name",
      "description": "Brief description.",
      "image": "https://example.com/image.png",
      "parentApp": "text",
      "documentation": "text",
      "sourceCode": "text",
      "supportLink": "text"
    },
    "locale": "text",
    "lastUpdated": "1713301889",
    "createdAt": "1713301889",
    "deletedAt": "1713301889",
    "approvedUsers": [
      "0x..."
    ],
    "versions": [
      {
        "version": 1,
        "finalized": true,
        "createdAt": "1713301889",
        "lastUpdated": "1713301889",
        "reuseForNonIndexed": true,
        "receiveStatusWebhook": true,
        "skipProcessingWebhook": true,
        "ignoreSimulations": true,
        "stateFunctionPreset": null,
        "duplicatesAllowed": true,
        "requiresSessions": true,
        "requiresUserInputs": true,
        "userInputsSchema": [
          {
            "key": "text",
            "label": "text",
            "type": "text",
            "hyperlink": {
              "url": "text",
              "showAsGenericView": true
            },
            "helper": "text",
            "headerField": true,
            "required": true,
            "hideFromDetailsDisplay": true,
            "defaultValue": "text",
            "options": [
              {
                "label": "text",
                "value": "text"
              }
            ],
            "arrayField": true
          }
        ],
        "publicParamsSchema": [
          {
            "key": "text",
            "label": "text",
            "type": "text",
            "hyperlink": {
              "url": "text",
              "showAsGenericView": true
            },
            "helper": "text",
            "headerField": true,
            "required": true,
            "hideFromDetailsDisplay": true,
            "defaultValue": "text",
            "options": [
              {
                "label": "text",
                "value": "text"
              }
            ],
            "arrayField": true
          }
        ],
        "privateParamsSchema": [
          {
            "key": "text",
            "label": "text",
            "type": "text",
            "hyperlink": {
              "url": "text",
              "showAsGenericView": true
            },
            "helper": "text",
            "headerField": true,
            "required": true,
            "hideFromDetailsDisplay": true,
            "defaultValue": "text",
            "options": [
              {
                "label": "text",
                "value": "text"
              }
            ],
            "arrayField": true
          }
        ],
        "userInputRedirect": {
          "baseUri": "text",
          "tutorialUri": "text"
        },
        "claimCreatorRedirect": {
          "toolUri": "text",
          "tutorialUri": "text",
          "testerUri": "text"
        },
        "verificationCall": {
          "uri": "https://example.com",
          "method": "POST",
          "hardcodedInputs": [
            {
              "key": "text",
              "label": "text",
              "type": "text",
              "value": "text",
              "headerField": true
            }
          ],
          "passAddress": true,
          "passDiscord": true,
          "passEmail": true,
          "passTwitter": true,
          "passGoogle": true,
          "passYoutube": true,
          "passGithub": true,
          "passTwitch": true,
          "passStrava": true,
          "passReddit": true,
          "passBluesky": true,
          "passShopify": true,
          "passFacebook": true,
          "passTelegram": true,
          "passFarcaster": true,
          "passSlack": true,
          "passMeetup": true,
          "passMailchimp": true,
          "postProcessingJs": "text"
        },
        "customDetailsDisplay": "text",
        "requireSignIn": true
      }
    ]
  }
}
get
/plugins/search

Searches for plugins based on the provided criteria.

await BitBadgesApi.searchPlugins(...);

SDK Links:

Scopes:

  • Full Access - Required for fetching your created plugins / private plugins

Authorizations
Query parameters
pluginsForSignedInUserbooleanOptional

If true, we will fetch all plugins for the authenticated user (with plugin secrets).

This will include plugins created by the signed in user and also those where they are explicitly approved / invited.

bookmarkstringOptional

Bookmark for pagination of the plugins (obtained from a previous call to this endpoint).

searchValuestringOptional

Search value

localestringOptional

Locale to restrict results to. By default, we assume 'en'. This is not applicable if you specify createdPluginsOnly, speciifc pluginIds, or an invite code.

Header parameters
x-api-keystringRequired

BitBadges API Key for authentication

Responses
200

Success response

application/json
get
/plugins/search
GET /api/v0/plugins/search HTTP/1.1
Host: api.bitbadges.io
x-api-key: text
Authorization: cookie YOUR_SECRET_TOKEN
Accept: */*
{
  "plugins": [
    {
      "_docId": "text",
      "_id": "text",
      "createdBy": "bb1...",
      "managedBy": "bb1...",
      "pluginId": "text",
      "pluginSecret": "text",
      "inviteCode": "text",
      "toPublish": true,
      "reviewCompleted": true,
      "metadata": {
        "createdBy": "text",
        "name": "Name",
        "description": "Brief description.",
        "image": "https://example.com/image.png",
        "parentApp": "text",
        "documentation": "text",
        "sourceCode": "text",
        "supportLink": "text"
      },
      "locale": "text",
      "lastUpdated": "1713301889",
      "createdAt": "1713301889",
      "deletedAt": "1713301889",
      "approvedUsers": [
        "0x..."
      ],
      "versions": [
        {
          "version": 1,
          "finalized": true,
          "createdAt": "1713301889",
          "lastUpdated": "1713301889",
          "reuseForNonIndexed": true,
          "receiveStatusWebhook": true,
          "skipProcessingWebhook": true,
          "ignoreSimulations": true,
          "stateFunctionPreset": null,
          "duplicatesAllowed": true,
          "requiresSessions": true,
          "requiresUserInputs": true,
          "userInputsSchema": [
            {
              "key": "text",
              "label": "text",
              "type": "text",
              "hyperlink": {
                "url": "text",
                "showAsGenericView": true
              },
              "helper": "text",
              "headerField": true,
              "required": true,
              "hideFromDetailsDisplay": true,
              "defaultValue": "text",
              "options": [
                {
                  "label": "text",
                  "value": "text"
                }
              ],
              "arrayField": true
            }
          ],
          "publicParamsSchema": [
            {
              "key": "text",
              "label": "text",
              "type": "text",
              "hyperlink": {
                "url": "text",
                "showAsGenericView": true
              },
              "helper": "text",
              "headerField": true,
              "required": true,
              "hideFromDetailsDisplay": true,
              "defaultValue": "text",
              "options": [
                {
                  "label": "text",
                  "value": "text"
                }
              ],
              "arrayField": true
            }
          ],
          "privateParamsSchema": [
            {
              "key": "text",
              "label": "text",
              "type": "text",
              "hyperlink": {
                "url": "text",
                "showAsGenericView": true
              },
              "helper": "text",
              "headerField": true,
              "required": true,
              "hideFromDetailsDisplay": true,
              "defaultValue": "text",
              "options": [
                {
                  "label": "text",
                  "value": "text"
                }
              ],
              "arrayField": true
            }
          ],
          "userInputRedirect": {
            "baseUri": "text",
            "tutorialUri": "text"
          },
          "claimCreatorRedirect": {
            "toolUri": "text",
            "tutorialUri": "text",
            "testerUri": "text"
          },
          "verificationCall": {
            "uri": "https://example.com",
            "method": "POST",
            "hardcodedInputs": [
              {
                "key": "text",
                "label": "text",
                "type": "text",
                "value": "text",
                "headerField": true
              }
            ],
            "passAddress": true,
            "passDiscord": true,
            "passEmail": true,
            "passTwitter": true,
            "passGoogle": true,
            "passYoutube": true,
            "passGithub": true,
            "passTwitch": true,
            "passStrava": true,
            "passReddit": true,
            "passBluesky": true,
            "passShopify": true,
            "passFacebook": true,
            "passTelegram": true,
            "passFarcaster": true,
            "passSlack": true,
            "passMeetup": true,
            "passMailchimp": true,
            "postProcessingJs": "text"
          },
          "customDetailsDisplay": "text",
          "requireSignIn": true
        }
      ]
    }
  ],
  "bookmark": "text"
}

Last updated