1. Sharing
Handwrite
  • Handwrite Regular Accounts
    • Start here — Handwrite for outside developers
    • API specification notes
    • Socket specification notes
    • Account
      • README — GET /api/v1/me
      • README — DELETE /api/v1/me
      • README — GET /api/v1/me/policy
      • README — GET /api/v1/me/usage
      • Account API — README
      • Who this credential acts for
      • Delete the account (after a 30-day grace period)
      • What your teams' and classes' policies allow
      • Your own usage, and what your teams and classes counted
    • Documents
      • README — GET /api/v1/documents
      • README — POST /api/v1/documents
      • README — GET /api/v1/documents/search
      • README — GET /api/v1/documents/{id}
      • README — PATCH /api/v1/documents/{id}
      • README — DELETE /api/v1/documents/{id}
      • README — GET /api/v1/documents/{id}/content
      • README — PUT /api/v1/documents/{id}/content
      • README — POST /api/v1/documents/{id}/live
      • README — GET /api/v1/export
      • Documents API — README
      • List your documents (or shared, or changes since)
      • Create a document
      • Search your own and shared documents
      • A document's metadata
      • Change title, text, content type or language
      • Delete a document (owner)
      • The document's text
      • Replace the text
      • Join the document's live co-editing room
      • Every document you own, with its text
    • Files
      • README — GET /api/v1/documents/{id}/file
      • README — POST /api/v1/documents/{id}/file
      • README — POST /api/v1/documents/{id}/file/commit
      • README — POST /api/v1/documents/{id}/extract
      • Files API — README
      • Download the original file
      • Start uploading the original file
      • Make an uploaded file the document's file
      • Replace the text with the file's text
    • Audio
      • README — GET /api/v1/documents/{id}/audio
      • README — POST /api/v1/audio/stream
      • README — POST /api/v1/audio/speech
      • README — GET /api/v1/voices
      • README — GET /api/v1/quota
      • Audio API — README
      • The whole document as one audio file
      • Stream speech as it's made
      • Speech with word timings (read-along)
      • Voices you can use
      • Characters left, limit, plan and reset time
    • Sharing
      • README — GET /api/v1/documents/{id}/permissions
      • README — POST /api/v1/documents/{id}/permissions
      • README — PATCH /api/v1/documents/{id}/permissions/{principal}
      • README — DELETE /api/v1/documents/{id}/permissions/{principal}
      • README — DELETE /api/v1/documents/{id}/invitations/{inviteId}
      • README — GET /api/v1/invitations
      • README — POST /api/v1/invitations/{id}/accept
      • README — POST /api/v1/invitations/{id}/decline
      • Sharing API — README
      • Who a document is shared with
        GET
      • Share by principal, or invite by email (owner)
        POST
      • Change someone's role (owner)
        PATCH
      • Remove access (owner, or leave yourself)
        DELETE
      • Cancel a pending invitation (owner)
        DELETE
      • Document invitations to your verified email
        GET
      • Accept a document invitation
        POST
      • Decline a document invitation
        POST
    • Settings
      • README — GET /api/v1/settings
      • README — PATCH /api/v1/settings
      • Settings API — README
      • Synced app and reader settings
      • Change settings (per key, the newer updatedAt wins)
    • Webhooks
      • Incoming webhook delivery — README
      • README — GET /api/v1/webhooks
      • README — POST /api/v1/webhooks
      • README — GET /api/v1/webhooks/{id}
      • README — DELETE /api/v1/webhooks/{id}
      • Webhooks API — README
      • Your webhook endpoints
      • Register an endpoint (up to 10)
      • One endpoint
      • Delete an endpoint (queued retries are dropped)
    • Meta
      • README — GET /api/v1/openapi.json
      • Meta API — README
      • This OpenAPI description
    • OAuth
      • README — POST /api/oauth/token
      • README — POST /api/oauth/revoke
      • OAuth API — README
      • Exchange a code, or refresh
      • Revoke a token (RFC 7009)
    • Live socket
      • Live document socket — README
    • A document or sharing event
  1. Sharing

Accept a document invitation

POST
/api/v1/invitations/{id}/accept
App integration: Accept only at the user's request. The API verifies the matching email and preserves an already higher role. Use the returned document and permission to refresh the shared library.

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
OAuth 2.0
Authorization Code
Add the parameter
Authorization
to Headers
,whose value is to concatenate the Token after the Bearer.
Example:
Authorization: Bearer ********************
Authorize URL: https://handwrites.io/oauth/authorize
Token URL: https://handwrites.io/api/oauth/token
Refresh URL: https://handwrites.io/api/oauth/token
Scopes:
permissions:write-Share documents and change or remove access
or
Path Params

Responses

🟢200
application/json
The document and your permission (a higher role you hold is kept).
Headers

Bodyapplication/json

🟠401Unauthorized
🟠403Forbidden
🟠404NotFound
🟠422Unprocessable
🟠429TooManyRequests
🔴500ServerError
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/api/v1/invitations//accept' \
--header 'Authorization: Bearer <token>'
Response Response Example
200 - Example 1
{
    "document": {
        "id": "doc_Ab3dEf6hIj9kLm0n",
        "title": "string",
        "language": "en",
        "revision": 0,
        "contentType": "text/plain",
        "contentLength": 0,
        "contentSha256": "string",
        "file": {
            "name": "string",
            "type": "application/pdf",
            "length": 0
        },
        "owner": "user:3f2b…",
        "access": "owner",
        "source": "api",
        "createdAt": "2019-08-24T14:15:22.123Z",
        "updatedAt": "2019-08-24T14:15:22.123Z"
    },
    "permission": {
        "principal": "user:3f2b…",
        "role": "viewer",
        "email": "string",
        "grantedBy": "user:3f2b…",
        "createdAt": "2019-08-24T14:15:22.123Z",
        "updatedAt": "2019-08-24T14:15:22.123Z"
    }
}
Modified at 2026-10-26 12:58:15
Previous
Document invitations to your verified email
Next
Decline a document invitation
Built with