메인 콘텐츠로 건너뛰기
POST
/
grants
/
{grant_id}
/
license-key
`POST /grants/{grant_id}/license-key` — merchant fulfills a pending manual license-key grant by supplying the key value.
curl --request POST \
  --url https://test.dodopayments.com/grants/{grant_id}/license-key \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "key": "<string>",
  "activations_limit": 123,
  "expires_at": "2023-11-07T05:31:56Z"
}
'
{
  "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>"
}
이 엔드포인트는 fulfillment_mode: manual 권한이 있는 라이선스 키에 대해 생성된 부여에만 사용하십시오. 부여는 첨부된 키 없이 pending 상태에 있어야 합니다. 수동 이행수동 라이선스 키 이행 통합 가이드를 참조하여 전체 프로세스를 확인하십시오.

인증

Authorization
string
header
필수

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

경로 매개변수

grant_id
string
필수

Grant ID

본문

application/json

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

key
string
필수

The license key string to deliver to the customer.

activations_limit
integer<int32> | null

Optional per-key activation limit; falls back to the entitlement config.

expires_at
string<date-time> | null

Optional per-key expiry; falls back to the entitlement config's duration.

응답

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

business_id
string
필수

Identifier of the business that owns the grant.

created_at
string<date-time>
필수

Timestamp when the grant was created.

customer_id
string
필수

Identifier of the customer the grant was issued to.

entitlement_id
string
필수

Identifier of the entitlement this grant was issued from.

id
string
필수

Unique identifier of the grant.

integration_type
enum<string>
필수

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

사용 가능한 옵션:
discord,
telegram,
github,
figma,
framer,
notion,
digital_files,
license_key
metadata
object
필수

Arbitrary key-value metadata recorded on the grant.

status
enum<string>
필수

Lifecycle status of the grant.

사용 가능한 옵션:
Pending,
Delivered,
Failed,
Revoked
updated_at
string<date-time>
필수

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.

Last modified on June 9, 2026