Vai al contenuto principale
POST
/
grants
/
{grant_id}
/
license-key
JavaScript
import DodoPayments from 'dodopayments';

const client = new DodoPayments({
  bearerToken: process.env['DODO_PAYMENTS_API_KEY'], // This is the default and can be omitted
});

const entitlementGrant = await client.entitlements.grants.fulfillLicenseKey(
  'entg_w0ZCJZgNXuNDdMVzvja6p',
  { key: 'key' },
);

console.log(entitlementGrant.id);
{
  "brand_id": "<string>",
  "business_id": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "customer_id": "<string>",
  "entitlement_id": "<string>",
  "id": "<string>",
  "metadata": {},
  "updated_at": "2023-11-07T05:31:56Z",
  "delivered_at": "2023-11-07T05:31:56Z",
  "digital_product_delivery": {
    "files": [
      {
        "download_url": "<string>",
        "expires_in": 123,
        "file_id": "<string>",
        "filename": "<string>",
        "content_type": "<string>",
        "file_size": 123
      }
    ],
    "external_url": "<string>",
    "instructions": "<string>"
  },
  "error_code": "<string>",
  "error_message": "<string>",
  "license_key": {
    "activations_used": 123,
    "key": "<string>",
    "activations_limit": 123,
    "expires_at": "2023-11-07T05:31:56Z"
  },
  "oauth_expires_at": "2023-11-07T05:31:56Z",
  "oauth_url": "<string>",
  "payment_id": "<string>",
  "revocation_reason": "<string>",
  "revoked_at": "2023-11-07T05:31:56Z",
  "subscription_id": "<string>"
}
Usa questo endpoint solo per concessioni create sotto un diritto di Chiave di Licenza con fulfillment_mode: manual. La concessione deve essere in stato pending senza alcuna chiave allegata. Vedi Manual Fulfillment e la Guida all’Integrazione per il Compimento Manuale della Chiave di Licenza per il flusso completo.

Autorizzazioni

Authorization
string
header
obbligatorio

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Parametri del percorso

grant_id
string
obbligatorio

Grant ID

Corpo

application/json

Request body for manually fulfilling a pending license-key grant.

key
string
obbligatorio

The license key value to deliver to the customer.

activations_limit
integer<int32> | null

Per-key activation limit. Defaults to the entitlement's license-key configuration.

expires_at
string<date-time> | null

When the key expires. Defaults to the duration in the entitlement's license-key configuration.

Risposta

Detailed view of a single entitlement grant: who it's for, its lifecycle state, and any integration-specific delivery payload.

brand_id
string
obbligatorio

Brand id this grant belongs to.

business_id
string
obbligatorio

Identifier of the business that owns the grant.

created_at
string<date-time>
obbligatorio

Timestamp when the grant was created.

customer_id
string
obbligatorio

Identifier of the customer the grant was issued to.

entitlement_id
string
obbligatorio

Identifier of the entitlement this grant was issued from.

id
string
obbligatorio

Unique identifier of the grant.

integration_type
enum<string>
obbligatorio

The integration type of the grant's entitlement (e.g. license_key).

Opzioni disponibili:
discord,
telegram,
github,
figma,
framer,
notion,
digital_files,
license_key
metadata
object
obbligatorio

Arbitrary key-value metadata recorded on the grant.

status
enum<string>
obbligatorio

Lifecycle status of the grant.

Opzioni disponibili:
Pending,
Delivered,
Failed,
Revoked
updated_at
string<date-time>
obbligatorio

Timestamp when the grant was last modified.

delivered_at
string<date-time> | null

Timestamp when the grant transitioned to delivered, when applicable.

digital_product_delivery
Digital Product Delivery · object

Digital-product-delivery payload, present when the entitlement integration is digital_files.

error_code
string | null

Machine-readable code reported when delivery failed, when applicable.

error_message
string | null

Human-readable message reported when delivery failed, when applicable.

license_key
object

License-key delivery payload, present when the entitlement integration is license_key.

oauth_expires_at
string<date-time> | null

Timestamp when oauth_url stops being valid, when applicable.

oauth_url
string | null

Customer-facing OAuth URL for OAuth-style integrations. Populated during the customer-portal accept flow; null until the customer completes that step, and on grants for non-OAuth integrations.

payment_id
string | null

Identifier of the payment that triggered this grant, when applicable.

revocation_reason
string | null

Reason recorded when the grant was revoked, when applicable.

revoked_at
string<date-time> | null

Timestamp when the grant transitioned to revoked, when applicable.

subscription_id
string | null

Identifier of the subscription that triggered this grant, when applicable.

Ultima modifica il 9 giugno 2026