Teams API
सहयोगी फॉर्म निर्माण के लिए टीम, सदस्य, भूमिकाएं, और निमंत्रण प्रबंधित करें।
Teams API आपको सहयोगी फॉर्म निर्माण के लिए टीम बनाने और प्रबंधित करने देता है। टीमें कई उपयोगकर्ताओं को फॉर्म साझा करने की अनुमति देती हैं, जिसमें role-based access control यह नियंत्रित करता है कि कौन फॉर्म और रिस्पॉन्स देख, संपादित और हटा सकता है।
सभी request और response bodies snake_case फ़ील्ड नामों का उपयोग करते हैं।
टीम भूमिकाएं
ownerroleपूर्ण access। सदस्यों, बिलिंग, और टीम हटाने का प्रबंधन कर सकता है।
adminroleफॉर्म बना, संपादित, हटा सकता है, सदस्यों का प्रबंधन कर सकता है, और रिस्पॉन्स देख सकता है।
editorroleफॉर्म बना और संपादित कर सकता है, रिस्पॉन्स देख सकता है। सदस्यों का प्रबंधन नहीं कर सकता।
viewerroleफॉर्म और रिस्पॉन्स देख सकता है। बना या संपादित नहीं कर सकता।
/api/v1/teamsPOST/api/v1/teamsGET/api/v1/teams/:teamIdPUT/api/v1/teams/:teamIdDELETE/api/v1/teams/:teamIdGET/api/v1/teams/:teamId/membersPOST/api/v1/teams/:teamId/membersPUT/api/v1/teams/:teamId/members/:memberIdDELETE/api/v1/teams/:teamId/members/:memberIdGET/api/v1/teams/:teamId/invitationsPOST/api/v1/teams/:teamId/invitationsDELETE/api/v1/teams/:teamId/invitations/:invIdResponse
{
"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"
}
]
}
कोड उदाहरण
curl -X GET "https://api.nueform.io/api/v1/teams" \
-H "Authorization: Bearer YOUR_API_KEY"
टीम बनाएं
/api/v1/teamsएक नई टीम बनाता है। authenticated उपयोगकर्ता टीम का owner बन जाता है।
Request Body
namestringटीम का नाम
Request उदाहरण
{
"name": "Marketing"
}
Response
{
"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"
}
कोड उदाहरण
curl -X POST "https://api.nueform.io/api/v1/teams" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Marketing" }'
टीम प्राप्त करें
/api/v1/teams/:teamIdID द्वारा एक टीम प्राप्त करता है।
टीम का कोई भी सदस्य इसे कॉल कर सकता है। रिस्पॉन्स में टीम के सीक्रेट कभी शामिल नहीं होते (डेटा रेज़िडेंसी डेटाबेस की कनेक्शन स्ट्रिंग, SSO कनेक्शन ID या आंतरिक डोमेन ID), और sso_domain_verify_token (वह DNS मान जो SSO डोमेन साबित करता है) केवल owner या admin भूमिका वाले कॉलर को लौटाया जाता है।
Path Parameters
teamIdstringटीम ID
Response
{
"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
}
कोड उदाहरण
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f" \
-H "Authorization: Bearer YOUR_API_KEY"
टीम अपडेट करें
/api/v1/teams/:teamIdटीम properties अपडेट करता है। owner या admin भूमिका आवश्यक है।
Path Parameters
teamIdstringटीम ID
Request Body
namestringनया टीम नाम
Request उदाहरण
{
"name": "Marketing & Growth"
}
Response
अपडेट किया गया टीम object लौटाता है।
कोड उदाहरण
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" }'
टीम हटाएं
/api/v1/teams/:teamIdएक टीम को स्थायी रूप से हटाता है। केवल टीम owner ही टीम हटा सकता है।
टीम हटाने से सभी टीम सदस्यताएं और निमंत्रण हट जाते हैं। टीम से संबंधित फॉर्म स्वचालित रूप से नहीं हटाए जाते लेकिन पूर्व टीम सदस्यों के लिए अनुपलब्ध हो जाएंगे।
Path Parameters
teamIdstringटीम ID
Response
{
"success": true
}
कोड उदाहरण
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f" \
-H "Authorization: Bearer YOUR_API_KEY"
सदस्यों की सूची
/api/v1/teams/:teamId/membersटीम के सभी सदस्यों को लौटाता है।
Path Parameters
teamIdstringटीम ID
Response
{
"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"
}
]
}
कोड उदाहरण
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members" \
-H "Authorization: Bearer YOUR_API_KEY"
सदस्य जोड़ें
/api/v1/teams/:teamId/membersईमेल से किसी को टीम में आमंत्रित करता है — बिल्कुल निमंत्रण बनाएं की तरह: NueForm ईमेल से निमंत्रण भेजता है, जो 7 दिनों बाद समाप्त हो जाता है, और व्यक्ति उसे स्वीकार करने पर टीम में जुड़ जाता है। यह किसी मौजूदा उपयोगकर्ता को सीधे नहीं जोड़ता। owner या admin भूमिका आवश्यक है। निमंत्रण लौटाता है (201); अगर पता पहले से किसी सदस्य का है या उसके लिए पहले से ऐसा लंबित निमंत्रण है जो अभी समाप्त नहीं हुआ है तो 409 (समाप्त हो चुका निमंत्रण नया निमंत्रण भेजने से नहीं रोकता), और अगर टीम मालिक के प्लान में कोई सीट नहीं बची है तो 400 देता है — लंबित निमंत्रण भी समाप्त होने तक एक सीट लेता है।
Path Parameters
teamIdstringटीम ID
Request Body
emailstringआमंत्रित करने के लिए ईमेल पता (छोटे अक्षरों में सहेजा जाता है)
rolestringस्वीकार करने पर व्यक्ति को मिलने वाली भूमिका: "admin", "editor" या "viewer"
Request उदाहरण
{
"email": "carol@example.com",
"role": "editor"
}
Response
{
"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"
}
कोड उदाहरण
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"
}'
सदस्य भूमिका अपडेट करें
/api/v1/teams/:teamId/members/:memberIdटीम सदस्य की भूमिका अपडेट करता है। owner या admin भूमिका आवश्यक है। आप owner की भूमिका नहीं बदल सकते।
Path Parameters
teamIdstringटीम ID
memberIdstringटीम सदस्य ID
Request Body
rolestringनई भूमिका: "admin", "editor", "viewer"
Request उदाहरण
{
"role": "admin"
}
Response
{
"id": "66d2e3f4a5b6c7d8e9f0a1b2",
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"team_id": "665b2c3d4e5f6a7b8c9d0e1f",
"role": "admin",
"joined_at": "2026-01-15T14:30:00.000Z"
}
कोड उदाहरण
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" }'
सदस्य हटाएं
/api/v1/teams/:teamId/members/:memberIdटीम से एक सदस्य को हटाता है। owner या admin भूमिका आवश्यक है। टीम owner को नहीं हटाया जा सकता। इस टीम से उस व्यक्ति को भेजे गए लंबित निमंत्रण भी रद्द हो जाते हैं, ताकि वह उनसे दोबारा न जुड़ सके।
Path Parameters
teamIdstringटीम ID
memberIdstringटीम सदस्य ID
Response
{
"success": true,
"message": "Member removed from team"
}
कोड उदाहरण
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members/66d2e3f4a5b6c7d8e9f0a1b2" \
-H "Authorization: Bearer YOUR_API_KEY"
निमंत्रणों की सूची
/api/v1/teams/:teamId/invitationsटीम के वे लंबित निमंत्रण लौटाता है जिनकी समय-सीमा खत्म नहीं हुई है, सबसे नए पहले। टीम का कोई भी सदस्य इसे कॉल कर सकता है; token फ़ील्ड (निमंत्रण लिंक का सीक्रेट) केवल owner या admin भूमिका वाले कॉलर के लिए शामिल होता है।
Path Parameters
teamIdstringटीम ID
Response
{
"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"
}
]
}
कोड उदाहरण
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/invitations" \
-H "Authorization: Bearer YOUR_API_KEY"
निमंत्रण बनाएं
/api/v1/teams/:teamId/invitationsटीम में शामिल होने के लिए ईमेल निमंत्रण भेजता है। निमंत्रण में एक यूनिक token शामिल होता है और 7 दिनों बाद expire हो जाता है। owner या admin भूमिका आवश्यक है। अगर पता पहले से किसी सदस्य का है या उसके लिए पहले से ऐसा लंबित निमंत्रण है जो अभी समाप्त नहीं हुआ है तो 409 (समाप्त हो चुका निमंत्रण नया निमंत्रण भेजने से नहीं रोकता), और अगर टीम मालिक के प्लान में कोई सीट नहीं बची है तो 400 देता है — लंबित निमंत्रण भी समाप्त होने तक एक सीट लेता है।
Path Parameters
teamIdstringटीम ID
Request Body
emailstringआमंत्रित करने के लिए ईमेल पता
rolestringस्वीकार करने पर व्यक्ति को मिलने वाली भूमिका: "admin", "editor" या "viewer"
Request उदाहरण
{
"email": "carol@example.com",
"role": "editor"
}
Response
{
"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"
}
कोड उदाहरण
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"
}'
निमंत्रण रद्द करें
/api/v1/teams/:teamId/invitations/:invIdएक लंबित निमंत्रण रद्द करता है। owner या admin भूमिका आवश्यक है। निमंत्रण token अब मान्य नहीं रहेगा।
Path Parameters
teamIdstringटीम ID
invIdstringनिमंत्रण ID
Response
{
"success": true,
"message": "Invitation cancelled"
}
कोड उदाहरण
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आवश्यक फ़ील्ड गायब हैं, अमान्य ईमेल या भूमिका, या टीम मालिक के प्लान में कोई सीट नहीं बची है
401UnauthorizedAPI key गायब या अमान्य है
403Forbiddenटीम के सदस्य नहीं हैं, या कार्रवाई के लिए अपर्याप्त भूमिका
404Not Foundटीम, सदस्य, या निमंत्रण नहीं मिला
409Conflictउपयोगकर्ता पहले से सदस्य है, डुप्लिकेट निमंत्रण
500Server ErrorInternal server error
Error उदाहरण
{
"error": {
"code": "CONFLICT",
"message": "A pending invitation already exists for this email",
"status": 409
}
}