{"version":"2026-11-08","form":"https://pingti.org/submit/site","englishForm":"https://pingti.org/submit/site?lang=en","endpoint":"https://api.pingti.org/submissions","method":"POST","contentType":"application/json","instructions":["People and authorized AI agents use the same form, validation, and review process. All business fields are visible.","A new project must choose positioning=alternative or positioning=original. Alternative projects require specific alternativeTargets; original projects may leave them blank and should explain their idea in reason.","New projects require category, a summary of at least 10 characters, an explicit pricing choice, and an explicit registration choice. Existing-project feedback may leave these blank.","Unknown information must not be invented. Optional fields may be omitted or left blank.","Only owners or authorized representatives may grant promotionConsent or materialConsent. Never grant permission without explicit authorization from the principal.","Material consent requires promotional permission and promotionalText or videoUrl. Supplying materials alone does not grant permission. Support for pingti.org is optional and does not affect review.","The website field is reserved and must be omitted or empty. Use url for the project website.","The browser form supplies startedAt and idempotencyKey. Direct clients use a current Unix timestamp in milliseconds and a stable UUID per submission.","A genuine production Turnstile token is required, expires after five minutes, and is single-use. This endpoint provides no automation bypass; human assistance may be necessary.","Successful requests return HTTP 201 and a reference after persistence. HTTP 400 field errors include errors[].field and errors[].message. Retain the same idempotencyKey when retrying; rate limits apply."],"labels":{"submissionType":["提交类型","Submission type"],"name":["项目名称","Project name"],"url":["项目网址","Project URL"],"category":["推荐分类","Suggested category"],"positioning":["项目定位","Project positioning"],"alternativeTargets":["平替了哪些网站、工具或服务","Alternatives to which websites, tools, or services?"],"languages":["语言或地区","Languages / regions"],"pricing":["收费情况","Pricing"],"registration":["是否需要注册","Registration required"],"summary":["一句话介绍","One-line description"],"details":["详细介绍（选填）","Detailed description (optional)"],"reason":["替代价值、独创点或需要修改的内容","Alternative value, original idea, or requested change"],"limitations":["已知限制或风险（选填）","Known limitations or risks (optional)"],"references":["参考链接或截图链接（选填）","Reference or screenshot URLs (optional)"],"relationship":["与项目的关系","Relationship to this project"],"promotionConsent":["允许 pingti.org 在社交媒体宣传本项目","Allow pingti.org to promote this project on social media"],"promotionalText":["宣传文案／项目介绍（选填）","Promotional text / project introduction (optional)"],"videoUrl":["可下载的视频链接（选填）","Downloadable video URL (optional)"],"materialConsent":["素材使用与合理修订授权","Permission to use and reasonably edit promotional materials"],"supportStatus":["是否已通过网站或社交媒体介绍 pingti.org（选填）","Has pingti.org been featured on a website or social media? (optional)"],"supportLinks":["介绍 pingti.org 的网页或帖子链接（选填）","Webpage or post URLs featuring pingti.org (optional)"],"requestType":["需求类型","Request type"],"title":["需求标题","Request title"],"problem":["想解决的问题","Problem to solve"],"desiredOutcome":["期望结果","Desired outcome"],"scenario":["使用场景","Use case"],"currentMethod":["当前使用的方法或工具（选填）","Current method or tools (optional)"],"currentIssues":["现有方案为什么不合适（选填）","Why the current solution is unsuitable (optional)"],"platform":["平台或设备（选填）","Platform or device (optional)"],"regionLanguage":["地区或语言（选填）","Region or language (optional)"],"pricePreference":["价格偏好","Pricing preference"],"openSource":["开源要求","Open-source preference"],"impact":["影响程度","Impact"],"contactEmail":["联系邮箱","Contact email"],"allowContact":["允许后续联系","Allow follow-up contact"],"declaration":["确认信息真实且不含个人敏感资料","Confirm accurate information without sensitive personal data"],"turnstileToken":["真人验证","Human verification"]},"options":{"submissionType":[["new","推荐新项目","New project"],["update","更新已有信息","Update project"],["broken","报告链接失效","Broken link"],["security","报告安全问题","Security issue"],["remove","申请移除","Removal request"]],"positioning":[["alternative","平替项目","Alternative project"],["original","独创项目（自报，重点审核）","Original project (self-declared, highlighted for review)"]],"pricing":[["free","免费","Free"],["freemium","部分免费","Freemium"],["paid","付费","Paid"],["unknown","不清楚","Unknown"]],"registration":[["yes","是","Yes"],["no","否","No"],["unknown","不清楚","Unknown"]],"relationship":[["user","普通用户","User"],["owner","站长或开发者","Owner / developer"],["promoter","获授权的推广人员","Authorized representative"],["other","其他","Other"]],"supportStatus":[["shared","已经介绍","Already shared"],["willing","愿意之后支持","Willing to share later"],["none","暂未介绍","Not yet"]],"requestType":[["find-tool","寻找替代品","Find an alternative"],["new-category","新增分类","Suggest a category"],["feature","网站功能","Feature request"],["correction","内容纠错","Content correction"],["accessibility","无障碍","Accessibility"],["other","其他","Other"]],"scenario":[["personal","个人","Personal"],["study","学习","Study"],["work","工作","Work"],["development","开发","Development"],["other","其他","Other"]],"pricePreference":[["free","必须免费","Free only"],["freemium","可接受部分免费","Freemium accepted"],["any","均可","Any"]],"openSource":[["not-required","不要求","Not required"],["preferred","优先开源","Preferred"],["required","必须开源","Required"]],"impact":[["minor","一般","Minor"],["major","造成不便","Major inconvenience"],["blocked","无法完成任务","Unable to complete the task"]]},"materialConsentVersion":"2026-11-08","materialConsentText":["本人确认有权提供并授权使用上述资料，同意 pingti.org 为介绍本项目，在其社交媒体账号中使用这些资料，并进行必要的翻译、文字润色、剪辑、字幕、裁切和格式调整。修订应保持原意，不夸大或歪曲项目功能。","I confirm that I have the right to provide and authorize the use of these materials. I allow pingti.org to use them on its social media accounts to introduce this project, including reasonable translation, copy editing, video editing, subtitles, cropping, and format changes. Edits must preserve the original meaning and must not exaggerate or misrepresent the project."],"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","oneOf":[{"type":"object","properties":{"language":{"default":"zh","type":"string","enum":["zh","en"]},"contactEmail":{"type":"string","maxLength":254,"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"allowContact":{"type":"boolean","const":true},"declaration":{"type":"boolean","const":true},"website":{"default":"","type":"string","maxLength":0},"turnstileToken":{"type":"string","minLength":1,"maxLength":2048},"startedAt":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"idempotencyKey":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string","const":"site"},"submissionType":{"type":"string","enum":["new","update","broken","security","remove"]},"name":{"type":"string","minLength":1,"maxLength":120},"url":{"type":"string","maxLength":2048,"format":"uri"},"category":{"default":"","type":"string","maxLength":120},"positioning":{"default":"","type":"string","enum":["alternative","original",""]},"alternativeTargets":{"default":"","type":"string","maxLength":300},"languages":{"default":"","type":"string","maxLength":300},"pricing":{"default":"","type":"string","enum":["free","freemium","paid","unknown",""]},"registration":{"default":"","type":"string","enum":["yes","no","unknown",""]},"summary":{"default":"","type":"string","maxLength":240},"details":{"default":"","type":"string","maxLength":3000},"reason":{"type":"string","minLength":10,"maxLength":2000},"limitations":{"default":"","type":"string","maxLength":3000},"references":{"default":"","type":"string","maxLength":3000},"relationship":{"type":"string","enum":["user","owner","promoter","other"]},"promotionConsent":{"default":false,"type":"boolean"},"promotionalText":{"default":"","type":"string","maxLength":3000},"videoUrl":{"default":"","anyOf":[{"type":"string","const":""},{"type":"string","maxLength":2048,"format":"uri"}]},"materialConsent":{"default":false,"type":"boolean"},"supportStatus":{"default":"","type":"string","enum":["shared","willing","none",""]},"supportLinks":{"default":"","type":"string","maxLength":3000}},"required":["language","contactEmail","allowContact","declaration","website","turnstileToken","startedAt","idempotencyKey","kind","submissionType","name","url","category","positioning","alternativeTargets","languages","pricing","registration","summary","details","reason","limitations","references","relationship","promotionConsent","promotionalText","videoUrl","materialConsent","supportStatus","supportLinks"],"additionalProperties":false},{"type":"object","properties":{"language":{"default":"zh","type":"string","enum":["zh","en"]},"contactEmail":{"default":"","anyOf":[{"type":"string","const":""},{"type":"string","maxLength":254,"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}]},"allowContact":{"default":false,"type":"boolean"},"declaration":{"type":"boolean","const":true},"website":{"default":"","type":"string","maxLength":0},"turnstileToken":{"type":"string","minLength":1,"maxLength":2048},"startedAt":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"idempotencyKey":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string","const":"request"},"requestType":{"type":"string","enum":["find-tool","new-category","feature","correction","accessibility","other"]},"title":{"type":"string","minLength":4,"maxLength":140},"problem":{"type":"string","minLength":20,"maxLength":3000},"desiredOutcome":{"type":"string","minLength":10,"maxLength":2000},"scenario":{"type":"string","enum":["personal","study","work","development","other"]},"currentMethod":{"default":"","type":"string","maxLength":3000},"currentIssues":{"default":"","type":"string","maxLength":3000},"platform":{"default":"","type":"string","maxLength":300},"regionLanguage":{"default":"","type":"string","maxLength":300},"pricePreference":{"type":"string","enum":["free","freemium","any"]},"openSource":{"type":"string","enum":["required","preferred","not-required"]},"references":{"default":"","type":"string","maxLength":3000},"impact":{"type":"string","enum":["minor","major","blocked"]}},"required":["language","contactEmail","allowContact","declaration","website","turnstileToken","startedAt","idempotencyKey","kind","requestType","title","problem","desiredOutcome","scenario","currentMethod","currentIssues","platform","regionLanguage","pricePreference","openSource","references","impact"],"additionalProperties":false}]},"examples":{"alternative":{"kind":"site","language":"en","submissionType":"new","name":"Example project","url":"https://example.com","category":"Productivity","positioning":"alternative","alternativeTargets":"Notion","pricing":"unknown","registration":"unknown","summary":"Illustrative project; replace this text with verified facts.","reason":"Explain the actual replaced features and limitations here.","relationship":"user","contactEmail":"submitter@example.com","allowContact":true,"promotionConsent":false,"materialConsent":false,"declaration":true,"startedAt":0,"idempotencyKey":"REPLACE_WITH_UUID","turnstileToken":"REPLACE_WITH_GENUINE_TOKEN"},"original":{"kind":"site","language":"zh","submissionType":"new","name":"独创示例（仅说明格式）","url":"https://example.com","category":"工具","positioning":"original","alternativeTargets":"","pricing":"unknown","registration":"unknown","summary":"此处填写经核实的实际用途，示例不是可直接提交的项目。","reason":"此处说明独创点和真实使用场景，不应宣称已获本站认证。","relationship":"user","contactEmail":"submitter@example.com","allowContact":true,"promotionConsent":false,"materialConsent":false,"declaration":true,"startedAt":0,"idempotencyKey":"REPLACE_WITH_UUID","turnstileToken":"REPLACE_WITH_GENUINE_TOKEN"}}}