### GET /api/v1/nda_status/:info Source: https://nda.hackclub.com/api/v1/docs This endpoint checks whether a Hack Club member has signed the current NDA. It accepts a Slack ID or URL-encoded email address as a path parameter and returns the signing status along with relevant details. ```APIDOC ## GET /api/v1/nda_status/:info ### Description Check whether a Hack Club member has signed the current NDA. No authentication is required. ### Method GET ### Endpoint /api/v1/nda_status/:info ### Parameters #### Path Parameters - **info** (string) - Required - Slack ID or URL-encoded email address. Slack IDs begin with `U` or `W`. Emails are case-insensitive; encode `@` as `%40`. ### Request Example GET /api/v1/nda_status/U0123ABCDEF GET /api/v1/nda_status/orpheus%40example.com ### Response #### Success Response (200) - **slack_id** (string) - Slack ID of the member (omitted for email lookups). - **status** (string) - `signed` or `not_signed`. - **nda_version** (string) - Version of the NDA. - **signed_at** (string) - Timestamp when the NDA was signed (only for signed status). - **signature_type** (string) - Type of signature (only for signed status). #### Response Example { "slack_id": "U0123ABCDEF", "status": "signed", "nda_version": "2026-09-17", "signed_at": "2025-04-02T15:04:05Z", "signature_type": "native" } { "slack_id": "U0123ABCDEF", "status": "not_signed", "nda_version": "2026-09-17" } #### Error Responses - **400 Bad Request** - Malformed Slack IDs return `invalid_slack_id`; malformed emails containing `@` return `invalid_email`. { "error": "invalid_slack_id" } - **429 Too Many Requests** - Rate limit exceeded. Each client IP may make up to 10 requests per second. Response includes `Retry-After` header. HTTP/1.1 429 Too Many Requests Content-Type: text/plain Retry-After: 1 Retry later ``` -------------------------------- ### Not signed response Source: https://nda.hackclub.com/api/v1/docs Response for an unsigned or unknown member. Returns status not_signed without signing details. ```json { "slack_id": "U0123ABCDEF", "status": "not_signed", "nda_version": "2026-09-17" } ``` -------------------------------- ### Signed response Source: https://nda.hackclub.com/api/v1/docs Response for a signed member. Returns status signed with signing details. ```json { "slack_id": "U0123ABCDEF", "status": "signed", "nda_version": "2026-09-17", "signed_at": "2025-04-02T15:04:05Z", "signature_type": "native" } ``` -------------------------------- ### Check NDA status with email Source: https://nda.hackclub.com/api/v1/docs Use a URL-encoded email to check NDA status. Emails are case-insensitive; encode @ as %40. Email responses omit slack_id and are not cached. ```http GET /api/v1/nda_status/orpheus%40example.com ``` -------------------------------- ### Invalid input response Source: https://nda.hackclub.com/api/v1/docs Response for malformed Slack IDs. Returns error invalid_slack_id. ```json { "error": "invalid_slack_id" } ``` -------------------------------- ### Check NDA status with Slack ID Source: https://nda.hackclub.com/api/v1/docs Use a Slack ID to check NDA status. Slack IDs begin with U or W. ```http GET /api/v1/nda_status/U0123ABCDEF ``` -------------------------------- ### Rate limit response Source: https://nda.hackclub.com/api/v1/docs Response when rate limit is exceeded. Each client IP may make up to 10 requests per second. Includes Retry-After header. ```http HTTP/1.1 429 Too Many Requests Content-Type: text/plain Retry-After: 1 Retry later ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.