POST/v1/files/{file_id}/regenerate
สร้างไฟล์ใหม่จากพารามิเตอร์ที่บันทึกไว้
regenerate_file
สร้างไฟล์ขึ้นใหม่จากพารามิเตอร์ที่บันทึกไว้ คำตอบจากบันทึกคำถามจะสร้างไฟล์ใหม่โดยไม่สร้างคำตอบใหม่ ส่วนการ์ด บันทึกค่าใช้จ่าย หรือรายการการ์ดจะสร้างใหม่จากข้อมูลปัจจุบันด้วยสิทธิ์ปัจจุบัน ไฟล์คง ID เดิม ลิงก์จากแชตจึงยังใช้ได้ และได้เนื้อหาใหม่กับระยะเวลาเก็บรักษาใหม่
การยืนยันตัวตน
ส่งคีย์ API ในเฮดเดอร์ Authorization: Authorization: Bearer <คีย์>
พารามิเตอร์พาธ
file_idstringจำเป็น
พารามิเตอร์เฮดเดอร์
Idempotency-Keystringคีย์ป้องกันการทำซ้ำ (idempotency key) สำหรับลองคำขอเขียนข้อมูลใหม่อย่างปลอดภัย: อักขระ ASCII ที่พิมพ์ได้ 1 ถึง 255 ตัว แนะนำให้ใช้ UUID v4 หนึ่งค่าต่อการดำเนินการเชิงตรรกะหนึ่งรายการ การลองใหม่ด้วยคีย์เดิมภายใน 24 ชั่วโมงจะไม่ทำการดำเนินการซ้ำ แต่ส่งคืนการตอบกลับที่บันทึกไว้ (สถานะ เฮดเดอร์ และเนื้อหา) พร้อมเฮดเดอร์
Idempotency-Replayed: trueคีย์เดิมที่ใช้กับเมธอด พาธContent-Typeหรือเนื้อหาที่ต่างออกไปจะส่งคืน409 api.idempotency_mismatchส่วนระหว่างที่คำขอแรกยังทำงานอยู่จะส่งคืน409 api.idempotency_in_progressพร้อมRetry-After: 1หลังการตอบกลับ 5xx หรือ 429 Sursa จะปล่อยคีย์ และการลองใหม่จะทำการดำเนินการอีกครั้ง คีย์มีขอบเขตตามองค์กรและผู้เรียก (คีย์ API ผู้ใช้ หรือคีย์แหล่งข้อมูล)length ≥ 1, length ≤ 255
X-View-Asstringสำหรับคีย์ API ที่มีบทบาท
adminเท่านั้น ทำคำขอในนามโปรไฟล์ข้อมูล<profile>[:viewer|verifier|editor]เช่นemployee:viewerคีย์การติดตั้งใช้เฮดเดอร์นี้ไม่ได้ (403)
พารามิเตอร์คุกกี้
kb_view_asstringคุกกี้ของโหมด “View as” สำหรับเซสชัน
POST /auth/view-asตั้งค่าคุกกี้นี้ และDELETE /auth/view-asล้างค่า
การตอบกลับ
200การตอบกลับเมื่อสำเร็จ
เฮดเดอร์การตอบกลับ
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
Idempotency-Replayedtrueหมายถึงการตอบกลับนี้เป็นการส่งคืนซ้ำจากการตอบกลับที่บันทึกไว้สำหรับIdempotency-Keyนี้: ไม่มีการทำการดำเนินการซ้ำ
application/json
availablebooleancreated_atstring (date-time)จำเป็นexpires_atstring (date-time) | nullจำเป็นexpiryFileExpiryfilenamestringจำเป็นidstringจำเป็นoriginFileOriginquestion_idinteger | nullจำเป็นregenerablebooleansizeintegerจำเป็นtitlestring | nullurlstringจำเป็นuser_idinteger | nullจำเป็นuser_namestring | nullจำเป็น
400คำขอไม่ถูกต้อง: ค่าพารามิเตอร์หรือสถานะของออบเจ็กต์ไม่อนุญาตให้ดำเนินการ (`detail` เป็นข้อความ)
เฮดเดอร์การตอบกลับ
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
application/json
401ไม่ได้ส่งข้อมูลรับรอง (ไม่มีทั้งคุกกี้เซสชันและคีย์ API) หรือไม่พบคีย์
เฮดเดอร์การตอบกลับ
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
application/json
403ไม่อนุญาตให้ดำเนินการ: บทบาทไม่เพียงพอ ไม่มีสิทธิ์เข้าถึงคอลเลกชันหรือการ์ด คำขอทำงานในโหมด “View as” หรือองค์กรถูกระงับหรือถูกลบ (`detail` เป็นออบเจ็กต์ที่มี `code: org_suspended | org_deleted`)
เฮดเดอร์การตอบกลับ
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
application/json
404ออบเจ็กต์ไม่มีอยู่หรือคุณเข้าถึงไม่ได้ API ไม่ยืนยันว่าออบเจ็กต์ที่จำกัดสิทธิ์มีอยู่จริง
เฮดเดอร์การตอบกลับ
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
application/json
409สถานะของออบเจ็กต์ไม่อนุญาตให้ดำเนินการ เช่น ข้อมูลซ้ำ การทำดัชนีที่กำลังดำเนินอยู่ หรืองานประมวลผลที่ประมวลผลไปแล้ว
เฮดเดอร์การตอบกลับ
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
application/json
422ข้อผิดพลาดในการตรวจความถูกต้องของข้อมูล: เนื้อหาหรือพารามิเตอร์ไม่ตรงกับสคีมา (`detail` เป็นรายการข้อผิดพลาดในการตรวจความถูกต้อง) หรือค่าพารามิเตอร์อยู่นอกช่วงที่กำหนด (`detail` เป็นข้อความ)
เฮดเดอร์การตอบกลับ
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
application/json
429คำขอมากเกินไป (`api.rate_limited`) โควตาขององค์กรสำหรับนาที วัน หรือเดือนหมดแล้ว (`api.quota_exceeded` โดย `error.details` มี `quota` `limit` และ `reset_at`) องค์กรใช้ถึงขีดจำกัดแล้ว หรือบริการคำตอบไม่ว่าง (`answers.engine_busy`) รอตามเวลาในเฮดเดอร์ `Retry-After`
เฮดเดอร์การตอบกลับ
Retry-Afterจำนวนวินาทีที่ต้องรอก่อนลองส่งคำขอใหม่
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
application/json
รหัสข้อผิดพลาด
รหัสที่เอนด์พอยต์นี้อาจส่งคืนใน error.code นอกเหนือจากรหัสทั่วไปของทุกคำขอ
- 429answers.engine_busy
- 409api.idempotency_in_progress
- 400api.idempotency_key_invalid
- 409api.idempotency_mismatch
- 401auth.not_authenticated
- 403auth.system_scope
- 400cards.invalid_kind_filter
- 400cards.invalid_order
- 400cards.invalid_owner_filter
- 400cards.invalid_sort
- 400cards.invalid_status_filter
- 400cards.invalid_type_filter
- 400cards.invalid_verification_filter
- 403cards.no_access
- 404cards.not_found
- 400categories.unknown
- 403collections.no_access
- 404collections.not_found
- 404files.not_found
- 409files.not_regenerable
- 403insights.finance_forbidden
- 400insights.invalid_period
- 404insights.no_data
- 400insights.period_order
- 403org.deleted
- 403org.suspended
- 404questions.answer_table_not_found
- 404questions.dataset_not_found
- 404questions.not_found
- 403view_as.read_only
การลองใหม่อย่างปลอดภัย
ส่งเฮดเดอร์ Idempotency-Key (เช่น UUID) ไปกับทุกคำขอ POST และ PATCH เมื่อลองใหม่ด้วยคีย์เดียวกันภายใน 24 ชั่วโมง Sursa จะส่งคืนการตอบกลับที่บันทึกไว้แทนการดำเนินการคำขอซ้ำ
ขีดจำกัดอัตราการเรียก
การตอบกลับมีเฮดเดอร์ RateLimit และ RateLimit-Policy รวมถึงเฮดเดอร์แบบเดิม X-RateLimit-Limit X-RateLimit-Remaining และ X-RateLimit-Reset การตอบกลับ 429 มี Retry-After เป็นวินาที ให้รอตามนั้นแล้วลองใหม่