एपीआई दस्तावेज़ीकरण

एक साधारण JSON REST API पर अपलोड को स्वचालित करें और अपनी फ़ाइलों को प्रोग्रामेटिक रूप से प्रबंधित करें। सभी अनुरोध और प्रतिक्रियाएँ हैं application/json. आधार यूआरएल है:

https://api.fast2share.com

टोकन बनाने के लिए साइन इन करें

प्रमाणीकरण

नीचे अपने पैनल में एक टोकन बनाएं सेटिंग्स → एपीआई टोकन. इसे प्रत्येक अनुरोध पर भेजें Authorization शीर्षक. निर्माण के समय टोकन एक बार दिखाए जाते हैं - उन्हें संग्रहीत करें सुरक्षित रूप से. प्रत्येक टोकन आपके खाते की ओर से कार्य करता है और केवल आपकी अपनी फ़ाइलें ही देखता है।

हैडर
Authorization: Bearer f2s_YOUR_TOKEN

त्रुटियाँ

त्रुटियाँ मानक HTTP स्थिति कोड का उपयोग करती हैं और एक JSON बॉडी लौटाती हैं error संदेश। सामान्य कोड: 401 (गुम/अमान्य टोकन), 403 (कोटा या योजना सीमा), 404 (फ़ाइल प्राप्त नहीं हुई), 409 (विरोध - उदाहरण के लिए फ़ाइल पहले से ही आपके खाते में है, देखें POST /v1/uploads), 422 (ख़राब अनुरोध निकाय), 503 (कोई स्टोरेज सर्वर उपलब्ध नहीं है)।

{
  "error": "Invalid or revoked API token."
}

अंतिमबिंदुओं

पाना /v1/उपयोगकर्ता
वर्तमान उपयोगकर्ता प्राप्त करें

टोकन स्वामी का खाता, सक्रिय योजना और वर्तमान भंडारण उपयोग लौटाता है।

अनुरोध
curl https://api.fast2share.com/v1/user \
  -H "Authorization: Bearer f2s_YOUR_TOKEN"
प्रतिक्रिया
{
  "id": 42,
  "email": "[email protected]",
  "display_name": "You",
  "plan": {
    "name": "premium-monthly",
    "max_file_size": 5368709120,
    "storage_quota": 107374182400
  },
  "usage": {
    "used_bytes": 2147483648,
    "file_count": 12,
    "remaining_bytes": 105226698752
  }
}
पाना /v1/फ़ाइलें
फ़ाइलों की सूची बनाएं

सबसे पहले, आपकी पूरी की गई नवीनतम फ़ाइलों को सूचीबद्ध करता है। कर्सर-पृष्ठांकित: लौटाए गए को पास करें next_before जैसा ?before= अगले पेज के लिए. नाम से फ़िल्टर करें ?q=.

अनुरोध
curl "https://api.fast2share.com/v1/files?before=0&q=report" \
  -H "Authorization: Bearer f2s_YOUR_TOKEN"
प्रतिक्रिया
{
  "data": [
    {
      "uuid": "3f1c…-…-…",
      "name": "report.pdf",
      "size": 184320,
      "mime": "application/pdf",
      "sha256": "9f86d0…",
      "status": "completed",
      "downloads": 3,
      "share_url": "https://…/f/3f1c…",
      "created_at": "2026-07-01T10:00:00+00:00",
      "expires_at": null
    }
  ],
  "next_before": 1057
}
पाना /v1/फ़ोल्डर
फ़ोल्डरों की सूची बनाएं

आपके खाते का प्रत्येक फ़ोल्डर, पहले शीर्ष-स्तरीय फ़ोल्डर। उपयोग id के रूप में folder_id किसी फ़ाइल को ले जाते या कॉपी करते समय।

अनुरोध
curl https://api.fast2share.com/v1/folders \
  -H "Authorization: Bearer f2s_YOUR_TOKEN"
प्रतिक्रिया
{
  "data": [
    { "id": 12, "name": "Invoices", "parent_id": null, "created_at": "2026-06-02T09:12:00+00:00" },
    { "id": 19, "name": "2026",     "parent_id": 12,   "created_at": "2026-06-02T09:13:00+00:00" }
  ]
}
डाक /v1/फ़ोल्डर
एक फ़ोल्डर बनाएँ

एक फ़ोल्डर बनाता है. name आवश्यक है और आपके खाते पर अद्वितीय होना चाहिए (केस-असंवेदनशील) - एक टकराव उत्तर देता है 409. उत्तीर्ण parent_id इसे नेस्ट करने के लिए: फ़ोल्डर्स जाएं केवल एक स्तर गहरा, और एक अभिभावक के पास अधिकतम एक उप-फ़ोल्डर होता है, इसलिए एक अभिभावक जो स्वयं नेस्टेड है (या पहले से ही एक बच्चा है) उत्तर देता है 422.

अनुरोध
curl -X POST https://api.fast2share.com/v1/folders \
  -H "Authorization: Bearer f2s_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Invoices","parent_id":null}'
प्रतिक्रिया
{
  "id": 12,
  "name": "Invoices",
  "parent_id": null,
  "created_at": "2026-07-31T08:20:00+00:00"
}
डाक /v1/अपलोड
एक अपलोड बनाएं

अपलोड वॉकथ्रू - अपलोड दो चरण हैं क्योंकि बाइट्स जाते हैं सीधे स्टोरेज सर्वर पर (फिर से शुरू करने योग्य के माध्यम से टुस शिष्टाचार); वे कभी भी इस एपीआई से नहीं गुजरते। यह कॉल आपके प्लान/कोटा को मान्य करती है और एक टस एंडपॉइंट प्लस एक हस्ताक्षरित रिटर्न देती है upload_token.

1. POST /v1/uploads फ़ाइल नाम और आकार के साथ → रिटर्न upload_url, upload_token और uuid (यह समापन बिंदु).
2. एक tus अपलोड करें upload_url, मेटाडेटा जोड़ना token <upload_token>. कोई भी टस क्लाइंट काम करता है (उदा. tus-js-client, tusc). बाइट्स को टुकड़ों में भेजें (8 एमबी अनुशंसित): संपूर्ण फ़ाइल वाला एक एकल अनुरोध अस्वीकार कर दिया जाता है 413 एक बार बॉडी ~100 एमबी से अधिक हो जाने पर स्टोरेज सीडीएन द्वारा।
3. मतदान GET /v1/files/{uuid}/status जब तक यह रिपोर्ट न हो जाए completed, फिर लौटाए गए का उपयोग करें share_url.

डिडअप (वैकल्पिक) के साथ स्थानांतरण छोड़ें। यदि वही बाइट्स पहले से ही संग्रहीत हैं, तो फ़ाइल तुरंत बनाई जा सकती है - कुछ भी अपलोड नहीं किया गया है:
fingerprint = पहले 8 एमबी का SHA-256 अंतिम 8 एमबी के साथ संयोजित (≤16 एमबी पढ़ता है; यदि फ़ाइल ≤8 एमबी है तो यह पूरी फ़ाइल का SHA-256 है, और 8 और 16 एमबी के बीच दो श्रेणियां ओवरलैपिंग के बिना, इसे एक बार कवर करती हैं)। इसे हमेशा भेजें जब आप डिडअप चाहते हैं - तो एपीआई को पता चलता है कि आपके पास वास्तव में फ़ाइल है, इसलिए किसी अन्य खाते के स्वामित्व वाले बाइट्स को कभी भी नंगे चेकसम पर साझा नहीं किया जाता है।
sha256 = पूर्ण-फ़ाइल SHA-256, हेक्स। इसे फ़िंगरप्रिंट के साथ भेजें और उत्तर तत्काल होगा: यदि आपके खाते में वह फ़ाइल पहले से ही मौजूद है कुछ भी निर्मित नहीं होता और आपको मिल जाता है 409 साथ {"status":"exists","uuid":…,"share_url":…} आपकी मौजूदा प्रति की ओर इशारा करते हुए; यदि किसी अन्य खाते के पास बाइट्स हैं तो वे तुरंत आपके साथ साझा किए जाते हैं: {"status":"completed","deduped":true,"share_url":…} - हो गया, कुछ भी अपलोड नहीं किया गया।
• बड़ी फ़ाइलों के लिए इसके बजाय आलसी रूप से हैश करें: केवल भेजें fingerprint. का एक उत्तर {"status":"need_hash"} इसका मतलब है कि एक संभावित मिलान मौजूद है - फ़ाइल को पूर्ण-हैश करें और कॉल करें POST /v1/uploads/{uuid}/confirm. कोई अन्य उत्तर सामान्य टिकट है; हमेशा की तरह अपलोड करें.
हमेशा अपलोड करने के लिए दोनों फ़ील्ड छोड़ें।

अनुरोध
curl -X POST https://api.fast2share.com/v1/uploads \
  -H "Authorization: Bearer f2s_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"filename":"report.pdf","size":184320,"type":"application/pdf","fingerprint":"5b41e3…","sha256":"9f86d0…"}'
प्रतिक्रिया
{
  "uuid": "3f1c…-…-…",
  "status": "pending",
  "upload_url": "https://storage1.example.com/files/",
  "upload_token": "eyJ1d….<sig>",
  "protocol": "tus",
  "metadata_key": "token"
}

// deduped instead — the bytes were already stored, nothing to upload:
{
  "uuid": "3f1c…-…-…",
  "status": "completed",
  "deduped": true,
  "size": 184320,
  "sha256": "9f86d0…",
  "share_url": "https://…/f/3f1c…"
}
⚠ अपने अपलोड को खंडित करें - ~100 एमबी से अधिक की फ़ाइलों के लिए आवश्यक। भंडारण सर्वर एक सीडीएन के पीछे बैठता है जो किसी भी एकल अनुरोध को अस्वीकार कर देता है जिसका मुख्य भाग इससे अधिक है ~100 एमबी साथ 413 Request Entity Too Large. हम पर PATCH जो वहन करता है साबुत इसलिए बड़ी फ़ाइलों पर फ़ाइल विफल हो जाती है। रखें प्रत्येक टुकड़ा छोटा - 8 एमबी एक अच्छा डिफ़ॉल्ट है - जो अपलोड भी करता है टूटे हुए कनेक्शन के बाद पुन: प्रारंभ करने योग्य।

सामान्य गलती: tus-js-client के लिए डिफ़ॉल्ट chunkSize: Infinity (संपूर्ण फ़ाइल के लिए एक अनुरोध), इसलिए ~100 एमबी से अधिक अपलोड होता है के साथ असफल 413. आप अवश्य एक स्पष्ट सेट करें chunkSize:
import * as tus from "tus-js-client";

// upload_url + upload_token come from POST /v1/uploads
const upload = new tus.Upload(file, {
  endpoint:  upload_url,
  chunkSize: 8 * 1024 * 1024,      // 8 MB — REQUIRED, keep well under 100 MB
  metadata:  { token: upload_token },
  onError:   (err) => console.error(err),
  onSuccess: () => console.log("done — poll /v1/files/{uuid}/status"),
});
upload.start();
डाक /v1/अपलोड/{uuid}/confirm
डिडअप की पुष्टि करें

का दूसरा चरण fingerprint प्रवाह: इसके बाद ही कॉल करें POST /v1/uploads उत्तर {"status":"need_hash"}, पूरी फ़ाइल के साथ sha256. फ़िंगरप्रिंट और आकार वे हैं जो आपने अपलोड करते समय भेजे थे - उन्हें इस अनुरोध से दोबारा नहीं पढ़ा जाएगा। उपरोक्त के समान तीन परिणाम: पहले से ही आपके खाते में → 409 exists (कुछ भी संग्रहित नहीं); अन्यत्र स्वामित्व → तुरंत पूरा हो जाता है (deduped); अन्यथा फिंगरप्रिंट बस टकरा जाता है और आपको सामान्य स्थिति मिल जाती है upload_url / upload_token टिकट - उपरोक्त चरण 2 के अनुसार अपलोड करें।

अनुरोध
curl -X POST https://api.fast2share.com/v1/uploads/3f1c…-…-…/confirm \
  -H "Authorization: Bearer f2s_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"sha256":"9f86d0…"}'
प्रतिक्रिया
{
  "uuid": "3f1c…-…-…",
  "status": "completed",
  "deduped": true,
  "size": 184320,
  "sha256": "9f86d0…",
  "share_url": "https://…/f/3f1c…"
}
पाना /v1/फ़ाइलें/{uuid}
फ़ाइल जानकारी प्राप्त करें

आपकी स्वामित्व वाली एकल फ़ाइल के लिए मेटाडेटा लौटाता है।

अनुरोध
curl https://api.fast2share.com/v1/files/3f1c…-…-… \
  -H "Authorization: Bearer f2s_YOUR_TOKEN"
प्रतिक्रिया
{
  "uuid": "3f1c…-…-…",
  "name": "report.pdf",
  "size": 184320,
  "mime": "application/pdf",
  "sha256": "9f86d0…",
  "status": "completed",
  "downloads": 3,
  "share_url": "https://…/f/3f1c…",
  "created_at": "2026-07-01T10:00:00+00:00",
  "expires_at": null
}
पाना /v1/फ़ाइलें/{uuid}/status
अपलोड स्थिति जांचें

अपलोड की स्थिति के लिए हल्की जांच: pending, completed या failed. एक बार पूरा होने पर यह वापस भी आ जाता है share_url.

अनुरोध
curl https://api.fast2share.com/v1/files/3f1c…-…-…/status \
  -H "Authorization: Bearer f2s_YOUR_TOKEN"
प्रतिक्रिया
{
  "uuid": "3f1c…-…-…",
  "status": "completed",
  "size": 184320,
  "share_url": "https://…/f/3f1c…"
}
पाना /v1/फ़ाइलें/{uuid}/डाउनलोड
सीधा डाउनलोड लिंक प्राप्त करें

आपकी स्वामित्व वाली फ़ाइल के लिए उपयोग के लिए तैयार प्रत्यक्ष डाउनलोड यूआरएल तैयार करता है। लिंक बाइट्स को सीधे स्ट्रीम करता है किसी ब्राउज़र सत्र की आवश्यकता नहीं है (स्क्रिप्ट/कर्ल से इसका उपयोग करें) और ~5 मिनट के बाद समाप्त हो जाता है। एक सक्रिय प्रीमियम सदस्यता की आवश्यकता है (एडमिन को हमेशा अनुमति है)।

अनुरोध
curl https://api.fast2share.com/v1/files/3f1c…-…-…/download \
  -H "Authorization: Bearer f2s_YOUR_TOKEN"
प्रतिक्रिया
{
  "uuid": "3f1c…-…-…",
  "name": "report.pdf",
  "size": 184320,
  "download_url": "https://…/d/9xA2…",
  "expires_in": 300
}
डाक /v1/फ़ाइलें/{uuid}/नाम बदलें
किसी फ़ाइल का नाम बदलें

आपके स्वामित्व वाली फ़ाइल का प्रदर्शन नाम बदलता है. शेयर लिंक (uuid) नहीं बदलता है, इसलिए आपके द्वारा पहले ही सौंपे गए लिंक काम करते रहते हैं - केवल शेयर पेज पर दिखाया गया नाम और डाउनलोड के साथ भेजा गया परिवर्तन बदल जाता है। पथ विभाजक और नियंत्रण वर्ण हटा दिए गए हैं; नाम 512 अक्षरों तक सीमित है।

अनुरोध
curl -X POST https://api.fast2share.com/v1/files/3f1c…-…-…/rename \
  -H "Authorization: Bearer f2s_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"invoice-july.pdf"}'
प्रतिक्रिया
{
  "uuid": "3f1c…-…-…",
  "name": "invoice-july.pdf",
  "size": 184320,
  "status": "completed",
  "share_url": "https://…/f/3f1c…"
}
डाक /v1/फ़ाइलें/{uuid}/move
एक फ़ाइल ले जाएँ

आपके स्वामित्व वाली फ़ाइल को आपके किसी फ़ोल्डर में फ़ाइल करता है। भेजना {"folder_id": 0} (या इसे छोड़ें) इसे वापस जड़ तक ले जाने के लिए। अन्यथा, फ़ोल्डर आपका होना चाहिए 404.

अनुरोध
curl -X POST https://api.fast2share.com/v1/files/3f1c…-…-…/move \
  -H "Authorization: Bearer f2s_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"folder_id":12}'
प्रतिक्रिया
{
  "uuid": "3f1c…-…-…",
  "name": "invoice-july.pdf",
  "status": "completed",
  "share_url": "https://…/f/3f1c…",
  "folder_id": 12
}
डाक /v1/फ़ाइलें/{uuid}/copy
किसी साझा फ़ाइल की प्रतिलिपि बनाएँ

एक फ़ाइल डालता है किसी औ आपके अपने खाते में आपके साथ साझा किया गया, आपके स्वयं के शेयर लिंक के साथ - यहां {uuid} है स्रोत फ़ाइल का शेयर स्लग, आपका नहीं। कोई बाइट्स स्थानांतरित नहीं किए गए हैं: कॉपी उसी संग्रहीत ऑब्जेक्ट पर इंगित करती है, इसलिए यह तुरंत पूरा हो जाता है और किसी भी अन्य फ़ाइल की तरह आपके स्टोरेज कोटा के विरुद्ध गिना जाता है।

स्रोत सार्वजनिक होना चाहिए, समाप्त होना चाहिए, और उसके मालिक को प्रतिलिपि बनाने की अनुमति देनी चाहिए - अन्यथा आपको मिलेगा 403. 409 इसका मतलब है कि यह पहले से ही आपकी फ़ाइल है (या पहले से ही आपके खाते में है), और 403 इसमें "पर्याप्त भंडारण नहीं बचा" भी शामिल है। वैकल्पिक बॉडी फ़ील्ड: folder_id, is_public (डिफ़ॉल्ट सत्य) और free_download (डिफ़ॉल्ट ग़लत)।

अनुरोध
curl -X POST https://api.fast2share.com/v1/files/3f1c…-…-…/copy \
  -H "Authorization: Bearer f2s_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"folder_id":12,"is_public":true}'
प्रतिक्रिया
{
  "uuid": "8b2e…-…-…",
  "name": "report.pdf",
  "size": 184320,
  "status": "completed",
  "share_url": "https://…/f/8b2e…",
  "copied": true
}
डाक /v1/फ़ाइलें/{uuid}/हटाएं
एक फ़ाइल हटाएँ

आपकी स्वामित्व वाली फ़ाइल को सॉफ़्ट-डिलीट करता है; यह तुरंत डाउनलोड होना बंद हो जाता है और इसके बाइट्स शीघ्र ही पुनः प्राप्त हो जाते हैं।

अनुरोध
curl -X POST https://api.fast2share.com/v1/files/3f1c…-…-…/delete \
  -H "Authorization: Bearer f2s_YOUR_TOKEN"
प्रतिक्रिया
{ "ok": true, "uuid": "3f1c…-…-…" }