NueForm

Teams API

सहयोगी फॉर्म निर्माण के लिए टीम, सदस्य, भूमिकाएं, और निमंत्रण प्रबंधित करें।

Teams API आपको सहयोगी फॉर्म निर्माण के लिए टीम बनाने और प्रबंधित करने देता है। टीमें कई उपयोगकर्ताओं को फॉर्म साझा करने की अनुमति देती हैं, जिसमें role-based access control यह नियंत्रित करता है कि कौन फॉर्म और रिस्पॉन्स देख, संपादित और हटा सकता है।

सभी request और response bodies snake_case फ़ील्ड नामों का उपयोग करते हैं।

टीम भूमिकाएं

ownerrole

पूर्ण access। सदस्यों, बिलिंग, और टीम हटाने का प्रबंधन कर सकता है।

adminrole

फॉर्म बना, संपादित, हटा सकता है, सदस्यों का प्रबंधन कर सकता है, और रिस्पॉन्स देख सकता है।

editorrole

फॉर्म बना और संपादित कर सकता है, रिस्पॉन्स देख सकता है। सदस्यों का प्रबंधन नहीं कर सकता।

viewerrole

फॉर्म और रिस्पॉन्स देख सकता है। बना या संपादित नहीं कर सकता।

टीमों की सूची

GET/api/v1/teams

authenticated उपयोगकर्ता जिन सभी टीमों का सदस्य है उन्हें लौटाता है।

Response

json
{
  "teams": [
    {
      "id": "665b2c3d4e5f6a7b8c9d0e1f",
      "name": "Marketing",
      "slug": "marketing",
      "owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
      "created_at": "2026-01-10T09:00:00.000Z",
      "updated_at": "2026-02-15T11:30:00.000Z",
      "member_count": 5,
      "your_role": "admin"
    },
    {
      "id": "665c3d4e5f6a7b8c9d0e1f20",
      "name": "Product",
      "slug": "product",
      "owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
      "created_at": "2026-02-01T14:00:00.000Z",
      "updated_at": "2026-02-20T16:45:00.000Z",
      "member_count": 3,
      "your_role": "owner"
    }
  ]
}

कोड उदाहरण

bash
curl -X GET "https://api.nueform.io/api/v1/teams" \
  -H "Authorization: Bearer YOUR_API_KEY"

टीम बनाएं

POST/api/v1/teams

एक नई टीम बनाता है। authenticated उपयोगकर्ता टीम का owner बन जाता है।

Request Body

namestring

टीम का नाम

Request उदाहरण

json
{
  "name": "Marketing"
}

Response

json
{
  "id": "665b2c3d4e5f6a7b8c9d0e1f",
  "name": "Marketing",
  "slug": "marketing",
  "owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
  "created_at": "2026-02-28T12:00:00.000Z",
  "updated_at": "2026-02-28T12:00:00.000Z"
}

कोड उदाहरण

bash
curl -X POST "https://api.nueform.io/api/v1/teams" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Marketing" }'

टीम प्राप्त करें

GET/api/v1/teams/:teamId

ID द्वारा एक टीम प्राप्त करता है।

टीम का कोई भी सदस्य इसे कॉल कर सकता है। रिस्पॉन्स में टीम के सीक्रेट कभी शामिल नहीं होते (डेटा रेज़िडेंसी डेटाबेस की कनेक्शन स्ट्रिंग, SSO कनेक्शन ID या आंतरिक डोमेन ID), और sso_domain_verify_token (वह DNS मान जो SSO डोमेन साबित करता है) केवल owner या admin भूमिका वाले कॉलर को लौटाया जाता है।

Path Parameters

teamIdstring

टीम ID

Response

json
{
  "id": "665b2c3d4e5f6a7b8c9d0e1f",
  "name": "Marketing",
  "slug": "marketing",
  "owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
  "created_at": "2026-01-10T09:00:00.000Z",
  "updated_at": "2026-02-15T11:30:00.000Z",
  "member_count": 5
}

कोड उदाहरण

bash
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f" \
  -H "Authorization: Bearer YOUR_API_KEY"

टीम अपडेट करें

PUT/api/v1/teams/:teamId

टीम properties अपडेट करता है। owner या admin भूमिका आवश्यक है।

Path Parameters

teamIdstring

टीम ID

Request Body

namestring

नया टीम नाम

Request उदाहरण

json
{
  "name": "Marketing & Growth"
}

Response

अपडेट किया गया टीम object लौटाता है।

कोड उदाहरण

bash
curl -X PUT "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Marketing & Growth" }'

टीम हटाएं

DELETE/api/v1/teams/:teamId

एक टीम को स्थायी रूप से हटाता है। केवल टीम owner ही टीम हटा सकता है।

टीम हटाने से सभी टीम सदस्यताएं और निमंत्रण हट जाते हैं। टीम से संबंधित फॉर्म स्वचालित रूप से नहीं हटाए जाते लेकिन पूर्व टीम सदस्यों के लिए अनुपलब्ध हो जाएंगे।

Path Parameters

teamIdstring

टीम ID

Response

json
{
  "success": true
}

कोड उदाहरण

bash
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f" \
  -H "Authorization: Bearer YOUR_API_KEY"

सदस्यों की सूची

GET/api/v1/teams/:teamId/members

टीम के सभी सदस्यों को लौटाता है।

Path Parameters

teamIdstring

टीम ID

Response

json
{
  "members": [
    {
      "id": "66d1e2f3a4b5c6d7e8f9a0b1",
      "user_id": "665a0a1b2c3d4e5f6a7b8c9d",
      "email": "alice@example.com",
      "first_name": "Alice",
      "last_name": "Johnson",
      "role": "owner",
      "joined_at": "2026-01-10T09:00:00.000Z"
    },
    {
      "id": "66d2e3f4a5b6c7d8e9f0a1b2",
      "user_id": "665a1b2c3d4e5f6a7b8c9d0e",
      "email": "bob@example.com",
      "first_name": "Bob",
      "last_name": "Smith",
      "role": "editor",
      "joined_at": "2026-01-15T14:30:00.000Z"
    }
  ]
}

कोड उदाहरण

bash
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members" \
  -H "Authorization: Bearer YOUR_API_KEY"

सदस्य जोड़ें

POST/api/v1/teams/:teamId/members

ईमेल से किसी को टीम में आमंत्रित करता है — बिल्कुल निमंत्रण बनाएं की तरह: NueForm ईमेल से निमंत्रण भेजता है, जो 7 दिनों बाद समाप्त हो जाता है, और व्यक्ति उसे स्वीकार करने पर टीम में जुड़ जाता है। यह किसी मौजूदा उपयोगकर्ता को सीधे नहीं जोड़ता। owner या admin भूमिका आवश्यक है। निमंत्रण लौटाता है (201); अगर पता पहले से किसी सदस्य का है या उसके लिए पहले से ऐसा लंबित निमंत्रण है जो अभी समाप्त नहीं हुआ है तो 409 (समाप्त हो चुका निमंत्रण नया निमंत्रण भेजने से नहीं रोकता), और अगर टीम मालिक के प्लान में कोई सीट नहीं बची है तो 400 देता है — लंबित निमंत्रण भी समाप्त होने तक एक सीट लेता है।

Path Parameters

teamIdstring

टीम ID

Request Body

emailstring

आमंत्रित करने के लिए ईमेल पता (छोटे अक्षरों में सहेजा जाता है)

rolestring

स्वीकार करने पर व्यक्ति को मिलने वाली भूमिका: "admin", "editor" या "viewer"

Request उदाहरण

json
{
  "email": "carol@example.com",
  "role": "editor"
}

Response

json
{
  "id": "66e1f2a3b4c5d6e7f8a9b0c1",
  "team_id": "665b2c3d4e5f6a7b8c9d0e1f",
  "email": "carol@example.com",
  "role": "editor",
  "invited_by": "665a0a1b2c3d4e5f6a7b8c9d",
  "token": "2f7c1d3e-9a4b-4c1d-8e2f-0a1b2c3d4e5f",
  "status": "pending",
  "language": "en",
  "expires_at": "2026-03-07T12:00:00.000Z",
  "created_at": "2026-02-28T12:00:00.000Z",
  "invite_url": "/teams/invite/2f7c1d3e-9a4b-4c1d-8e2f-0a1b2c3d4e5f"
}

कोड उदाहरण

bash
curl -X POST "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "carol@example.com",
    "role": "editor"
  }'

सदस्य भूमिका अपडेट करें

PUT/api/v1/teams/:teamId/members/:memberId

टीम सदस्य की भूमिका अपडेट करता है। owner या admin भूमिका आवश्यक है। आप owner की भूमिका नहीं बदल सकते।

Path Parameters

teamIdstring

टीम ID

memberIdstring

टीम सदस्य ID

Request Body

rolestring

नई भूमिका: "admin", "editor", "viewer"

Request उदाहरण

json
{
  "role": "admin"
}

Response

json
{
  "id": "66d2e3f4a5b6c7d8e9f0a1b2",
  "user_id": "665a1b2c3d4e5f6a7b8c9d0e",
  "team_id": "665b2c3d4e5f6a7b8c9d0e1f",
  "role": "admin",
  "joined_at": "2026-01-15T14:30:00.000Z"
}

कोड उदाहरण

bash
curl -X PUT "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members/66d2e3f4a5b6c7d8e9f0a1b2" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "role": "admin" }'

सदस्य हटाएं

DELETE/api/v1/teams/:teamId/members/:memberId

टीम से एक सदस्य को हटाता है। owner या admin भूमिका आवश्यक है। टीम owner को नहीं हटाया जा सकता। इस टीम से उस व्यक्ति को भेजे गए लंबित निमंत्रण भी रद्द हो जाते हैं, ताकि वह उनसे दोबारा न जुड़ सके।

Path Parameters

teamIdstring

टीम ID

memberIdstring

टीम सदस्य ID

Response

json
{
  "success": true,
  "message": "Member removed from team"
}

कोड उदाहरण

bash
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members/66d2e3f4a5b6c7d8e9f0a1b2" \
  -H "Authorization: Bearer YOUR_API_KEY"

निमंत्रणों की सूची

GET/api/v1/teams/:teamId/invitations

टीम के वे लंबित निमंत्रण लौटाता है जिनकी समय-सीमा खत्म नहीं हुई है, सबसे नए पहले। टीम का कोई भी सदस्य इसे कॉल कर सकता है; token फ़ील्ड (निमंत्रण लिंक का सीक्रेट) केवल owner या admin भूमिका वाले कॉलर के लिए शामिल होता है।

Path Parameters

teamIdstring

टीम ID

Response

json
{
  "invitations": [
    {
      "id": "66e1f2a3b4c5d6e7f8a9b0c1",
      "email": "carol@example.com",
      "role": "editor",
      "invited_by": "665a0a1b2c3d4e5f6a7b8c9d",
      "status": "pending",
      "expires_at": "2026-03-07T12:00:00.000Z",
      "created_at": "2026-02-28T12:00:00.000Z"
    }
  ]
}

कोड उदाहरण

bash
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/invitations" \
  -H "Authorization: Bearer YOUR_API_KEY"

निमंत्रण बनाएं

POST/api/v1/teams/:teamId/invitations

टीम में शामिल होने के लिए ईमेल निमंत्रण भेजता है। निमंत्रण में एक यूनिक token शामिल होता है और 7 दिनों बाद expire हो जाता है। owner या admin भूमिका आवश्यक है। अगर पता पहले से किसी सदस्य का है या उसके लिए पहले से ऐसा लंबित निमंत्रण है जो अभी समाप्त नहीं हुआ है तो 409 (समाप्त हो चुका निमंत्रण नया निमंत्रण भेजने से नहीं रोकता), और अगर टीम मालिक के प्लान में कोई सीट नहीं बची है तो 400 देता है — लंबित निमंत्रण भी समाप्त होने तक एक सीट लेता है।

Path Parameters

teamIdstring

टीम ID

Request Body

emailstring

आमंत्रित करने के लिए ईमेल पता

rolestring

स्वीकार करने पर व्यक्ति को मिलने वाली भूमिका: "admin", "editor" या "viewer"

Request उदाहरण

json
{
  "email": "carol@example.com",
  "role": "editor"
}

Response

json
{
  "id": "66e1f2a3b4c5d6e7f8a9b0c1",
  "team_id": "665b2c3d4e5f6a7b8c9d0e1f",
  "email": "carol@example.com",
  "role": "editor",
  "invited_by": "665a0a1b2c3d4e5f6a7b8c9d",
  "token": "2f7c1d3e-9a4b-4c1d-8e2f-0a1b2c3d4e5f",
  "status": "pending",
  "language": "en",
  "expires_at": "2026-03-07T12:00:00.000Z",
  "created_at": "2026-02-28T12:00:00.000Z",
  "invite_url": "/teams/invite/2f7c1d3e-9a4b-4c1d-8e2f-0a1b2c3d4e5f"
}

कोड उदाहरण

bash
curl -X POST "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/invitations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "carol@example.com",
    "role": "editor"
  }'

निमंत्रण रद्द करें

DELETE/api/v1/teams/:teamId/invitations/:invId

एक लंबित निमंत्रण रद्द करता है। owner या admin भूमिका आवश्यक है। निमंत्रण token अब मान्य नहीं रहेगा।

Path Parameters

teamIdstring

टीम ID

invIdstring

निमंत्रण ID

Response

json
{
  "success": true,
  "message": "Invitation cancelled"
}

कोड उदाहरण

bash
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/invitations/66e1f2a3b4c5d6e7f8a9b0c1" \
  -H "Authorization: Bearer YOUR_API_KEY"

Error Responses

Teams API endpoints द्वारा लौटाए गए मानक error responses।

Error Codes

400Bad Request

आवश्यक फ़ील्ड गायब हैं, अमान्य ईमेल या भूमिका, या टीम मालिक के प्लान में कोई सीट नहीं बची है

401Unauthorized

API key गायब या अमान्य है

403Forbidden

टीम के सदस्य नहीं हैं, या कार्रवाई के लिए अपर्याप्त भूमिका

404Not Found

टीम, सदस्य, या निमंत्रण नहीं मिला

409Conflict

उपयोगकर्ता पहले से सदस्य है, डुप्लिकेट निमंत्रण

500Server Error

Internal server error

Error उदाहरण

json
{
  "error": {
    "code": "CONFLICT",
    "message": "A pending invitation already exists for this email",
    "status": 409
  }
}
अंतिम अपडेट: 8 अक्टूबर 2026