---
title: "Docusign Callback"
method: POST
path: "/integrations/docusign/callback"
tags: ["DocuSign"]
---

# Docusign Callback

`POST /integrations/docusign/callback`

## Request

- Base URL: `https://api.openintake.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openintake.ai/integrations/docusign/callback`
- Auth: none declared

OAuth callback endpoint for DocuSign consent (called by frontend).

DocuSign redirects the admin back to the Integrations page, which POSTs
the ``code``/``state`` here via XHR (so the auth cookie is sent same-site).
Exchanges the code for a one-shot access token, calls ``/oauth/userinfo``
to capture the per-customer DocuSign user GUID + account info, and
persists those to the credential row. After this, JWT Grant token
minting works for the customer.

## Query parameters

- `code` string, required
- `state` string, required

## Response `200`

Successful Response

- DocuSignStatus: DocuSign integration connection status.
  - `connected` boolean, required
  - `connected_at` string, nullable
  - `expires_at` string, nullable
  - `account_id` string, nullable
  - `account_name` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/openintake/apis/openintake-api.md) - [All operations](https://skmtc.dev/openintake/apis/openintake-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openintake/apis/openintake-api/revisions/de90a8dcbc07?raw)
