Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dacard.ai/llms.txt

Use this file to discover all available pages before exploring further.

Grant another user time-bound access to your integration credentials. Used when one team member owns the OAuth connection (e.g., the GitHub admin) but other members need to read or push to the integration. Grants carry a TTL and a scope preview.

Issue a grant

curl -X POST https://app.dacard.ai/api/credential-grants \
  -H "Authorization: Bearer $DACARD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "integrationId": "int_xyz",
    "granteeEmail": "designer@acme.com",
    "expiresInHours": 168,
    "scope": "read"
  }'

Patch or revoke a grant

curl -X PATCH https://app.dacard.ai/api/credential-grants/grnt_xyz \
  -H "Authorization: Bearer $DACARD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "expiresInHours": 24 }'

curl -X DELETE https://app.dacard.ai/api/credential-grants/grnt_xyz \
  -H "Authorization: Bearer $DACARD_API_KEY"
PropertyValue
AuthRequired
Required scopeCaller must own the integration
IdempotentPOST no. PATCH yes. DELETE yes.

Body (POST)

FieldTypeRequiredNotes
integrationIdstringyesIntegration the grant covers.
granteeEmailstringyesRecipient email. Does not need an account yet.
expiresInHoursintegeryesGrant TTL. Max 720 (30 days).
scoperead | writeyesRead or write scope on the integration.

Errors

StatusCodeWhen
401AUTH_REQUIREDNo session.
403FORBIDDENCaller does not own the integration.
404Grant not foundBad id.
500INTERNAL_ERRORWrite failed.