{
"error": {
"code": "too_large",
"message": "JSON body exceeds 16 MiB after decompression"
}
}
{
"error": {
"code": "unprocessable",
"message": "cycle_time cannot be more than 60 seconds in the future",
"fields": [
{
"path": "cycle_time",
"problem": "must not exceed server time by more than 60 seconds"
}
]
}
}
{
"error": {
"code": "too_large",
"message": "JSON body exceeds 16 MiB after decompression"
}
}
{
"error": {
"code": "unprocessable",
"message": "cycle_time cannot be more than 60 seconds in the future",
"fields": [
{
"path": "cycle_time",
"problem": "must not exceed server time by more than 60 seconds"
}
]
}
}
Not in scope for trial. This outcomes endpoint is reference material for later integration. Daily operator outcomes may be shared separately by agreement; they are not required through this endpoint for the current trial.
DCinside said that outcomes for operator-placed posts can flow daily during rehearsal. The model does not place posts at this stage. Outcomes are useful supporting data, but DCinside did not list their delivery as a rehearsal pass condition.The endpoint and field mapping below are retained for later review, outside the current trial integration scope. The formal live-trial choice between sending events as they occur and hourly batches can be settled later.
Board counts at 1, 6, 24 and 48 hours after placement: views, up-votes, down-votes and comments.
Hide times and deletion events, when available.
Who picked the post: operator or model version.
Score at placement, when available, together with the original post identity.
The 1/6/24/48-hour ages are measurement times, not upload frequencies. Daily rehearsal uploads can carry readings from several measurement times. Proposed placement-baseline fields support interpreting net board growth and need payload confirmation.
placement_id identifies a placement. The current handler replaces the stored placement record on a repeated ID; it does not merge partial readings automatically. For current smoke tests, send the complete known snapshot for that placement. Agree snapshot-versus-incremental semantics before integration.The current request protection is 5,000 records, not the 1,000 previously written in this document. It is an engineering limit, not an agreed business quota. Storage is process-local and must not be treated as durable outcome delivery.The schema supports model-picked records for later publishing stages. Rehearsal operator outcomes use picked_by.type = operator; hypothetical model picks are logged separately on DCinside’s side and are not actual placements.
Proposed API key sent as the whole Authorization header value. One long-lived key, handed privately to the partner contact and rotated on either side's request. Per-endpoint scopes are not currently enforced.
One record per placement. Current 5,000-record protection is an engineering limit, not an agreed quota. Daily operator-placed outcomes support rehearsal.
Records that matched an existing placement_id and updated it.
Required range: x >= 0
Example:
0
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"DCinside RTB API Documentation","colors":{"primary":"#000000","light":"#4D9CFF","dark":"#0050B4"},"api":{"playground":{"display":"simple","proxy":false}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"surfai-5f1034e6","hasAudioNarration":false,"actualSubdomain":"surfai-5f1034e6","customDomains":["surf-dcinside-api.kr.ask.surf"],"gitSource":{"type":"github","owner":"hl219","repo":"dcinside-rtb-api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ace4f2a99d09ae5ef3fff07","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"default","tag":"Getting Started","count":5},{"language":"default","tag":"Scoring API","count":4},{"language":"default","tag":"Weights and Outcomes","count":3},{"language":"default","tag":"Operations","count":1},{"language":"default","tag":"Images API","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"outcomes","slug":"/outcomes","pageMetadata":{"title":"Operator Outcomes","description":"Not in scope for trial — outcomes endpoint reference","openapi":"openapi.json POST /v1/outcomes","href":"/outcomes"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Not in scope for trial — outcomes endpoint reference\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Not in scope for trial.`}),` This outcomes endpoint is reference material for later integration. Daily operator outcomes may be shared separately by agreement; they are not required through this endpoint for the current trial.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`supporting-outcome-data`,children:`Supporting outcome data`}),`\n`,_jsxs(_components.p,{children:[`DCinside said that outcomes for `,_jsx(_components.strong,{children:`operator-placed posts can flow daily during rehearsal`}),`. The model does not place posts at this stage. Outcomes are useful supporting data, but DCinside did not list their delivery as a rehearsal pass condition.`]}),`\n`,_jsx(_components.p,{children:`The endpoint and field mapping below are retained for later review, outside the current trial integration scope. The formal live-trial choice between sending events as they occur and hourly batches can be settled later.`}),`\n`,_jsx(Heading,{level:`2`,id:`requested-data`,children:`Requested data`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Board counts at 1, 6, 24 and 48 hours after placement: views, up-votes, down-votes and comments.`}),`\n`,_jsx(_components.li,{children:`Hide times and deletion events, when available.`}),`\n`,_jsx(_components.li,{children:`Who picked the post: operator or model version.`}),`\n`,_jsx(_components.li,{children:`Score at placement, when available, together with the original post identity.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The 1/6/24/48-hour ages are `,_jsx(_components.strong,{children:`measurement times`}),`, not upload frequencies. Daily rehearsal uploads can carry readings from several measurement times. Proposed placement-baseline fields support interpreting net board growth and need payload confirmation.`]}),`\n`,_jsx(Heading,{level:`2`,id:`updates-and-current-implementation`,children:`Updates and current implementation`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`placement_id`}),` identifies a placement. The current handler replaces the stored placement record on a repeated ID; it does `,_jsx(_components.strong,{children:`not`}),` merge partial readings automatically. For current smoke tests, send the complete known snapshot for that placement. Agree snapshot-versus-incremental semantics before integration.`]}),`\n`,_jsx(_components.p,{children:`The current request protection is 5,000 records, not the 1,000 previously written in this document. It is an engineering limit, not an agreed business quota. Storage is process-local and must not be treated as durable outcome delivery.`}),`\n`,_jsxs(_components.p,{children:[`The schema supports model-picked records for later publishing stages. Rehearsal operator outcomes use `,_jsx(_components.code,{children:`picked_by.type = operator`}),`; hypothetical model picks are logged separately on DCinside’s side and are not actual placements.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Operator Outcomes","description":"Not in scope for trial — outcomes endpoint reference","openapi":"openapi.json POST /v1/outcomes","href":"/outcomes"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Supporting outcome data","slug":"supporting-outcome-data","depth":2,"children":[]},{"title":"Requested data","slug":"requested-data","depth":2,"children":[]},{"title":"Updates and current implementation","slug":"updates-and-current-implementation","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"postOutcomes","tags":["Outcomes"],"summary":"Send Outcomes","description":"Not in scope for trial — outcomes endpoint reference","parameters":["cbe5cb4f-5873-40d8-a91b-3a1f870511e7"],"requestBody":"bd6f81b8-b871-4f10-8939-8156aab10a27","responses":{"200":"2a7a57ad-e880-4f35-9ed3-5b0b637ae09a","400":"374eeb5a-0b0e-4cff-ba84-afc391d8b576","401":"72d50391-cc25-4e27-bbd4-aa0fe62309e3","413":"2d16300a-842d-4435-974d-76570d292afb","422":"04380985-20c7-47b6-bee3-8c256b5a1c9e","500":"3b004b67-9082-41e8-9fc3-b42d2ebc6d34"},"x-trial-scope":"reference-only","method":"post","type":"path","servers":["d1723271-11ec-4bd0-a177-e7183babf553"],"security":["10858110-c05f-43f2-9504-99ddb0a1cf38"],"path":"/v1/outcomes","baseUrlOptions":["https://dcinside-rtb-api.stg.kr.ask.surf"],"title":"Send Outcomes","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","disableProxy":true},"dependencies":{"parameters":{"cbe5cb4f-5873-40d8-a91b-3a1f870511e7":{"name":"Content-Encoding","in":"header","required":false,"schema":{"type":"string","enum":["gzip"],"isRequired":false,"description":"Optional compression. Set to gzip only for a gzip-compressed body; plain JSON is also supported.","uniqueKey":"","typeLabel":"enum\u003cstring>"},"description":"Optional compression. Set to gzip only for a gzip-compressed body; plain JSON is also supported."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"outcomes":{"type":"array","maxItems":5000,"items":{"type":"object","properties":{"placement_id":{"type":"string","minLength":1,"example":"example-4390001","description":"DCinside placement identifier (delivered selected_id). Current implementation replaces the stored record on the same ID; send a complete known snapshot until incremental merging is agreed and implemented.","isRequired":true,"uniqueKey":"outcomes.items.[INDEX].placement_id","typeLabel":"string"},"gall_id":{"type":"string","minLength":1,"description":"Post key, together with `post_no`.","example":"example_gallery","isRequired":true,"uniqueKey":"outcomes.items.[INDEX].gall_id","typeLabel":"string"},"post_no":{"type":"integer","minimum":1,"description":"Post number. Unique only within a gallery, so a post is always keyed by `gall_id` and `post_no` together.","example":31900001,"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].post_no","typeLabel":"integer"},"tier":{"type":"string","enum":["main","light","night","app"],"example":"main","description":"The board the post was placed on. Delivered files: `rtb_head_tag`.","isRequired":true,"uniqueKey":"outcomes.items.[INDEX].tier","typeLabel":"enum\u003cstring>"},"placed_at":{"type":"string","format":"date-time","description":"When the post went onto the board. Also fixes the day and time block used for outcome percentiles. Delivered files: `exposed_at`.","example":"2026-09-29T02:40:00+09:00","pattern":"^\\d{4}-\\d{2}-\\d{2}[Tt]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:[Zz]|[+-]\\d{2}:\\d{2})$","isRequired":true,"uniqueKey":"outcomes.items.[INDEX].placed_at","typeLabel":"string\u003cdate-time>"},"picked_by":{"oneOf":[{"type":"object","description":"Who chose the post: `{\"type\": \"operator\"}`, or `{\"type\": \"model\", \"model_version\", \"weights_version\", \"cycle_id\"}`.","required":["type"],"properties":{"type":{"type":"string","enum":["operator"],"example":"operator","description":"The post was chosen by an operator.","isRequired":true,"uniqueKey":"outcomes.items.[INDEX].picked_by.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].picked_by.oneOf.0","typeLabel":"object"},{"type":"object","description":"Who chose the post: `{\"type\": \"operator\"}`, or `{\"type\": \"model\", \"model_version\", \"weights_version\", \"cycle_id\"}`.","required":["type","model_version","weights_version","cycle_id"],"properties":{"type":{"type":"string","enum":["model"],"example":"model","description":"The post was chosen from the model's ranking.","isRequired":true,"uniqueKey":"outcomes.items.[INDEX].picked_by.oneOf.1.type","typeLabel":"enum\u003cstring>"},"model_version":{"type":"string","example":"m0924-weight0","description":"`model_version` of the scores the choice was made from.","isRequired":true,"uniqueKey":"outcomes.items.[INDEX].picked_by.oneOf.1.model_version","typeLabel":"string"},"weights_version":{"type":"string","example":"w-1","description":"`weights_version` of those scores.","isRequired":true,"uniqueKey":"outcomes.items.[INDEX].picked_by.oneOf.1.weights_version","typeLabel":"string"},"cycle_id":{"type":"string","pattern":"^\\d{8}T\\d{4}$","example":"20260929T0240","description":"The cycle whose response the choice was made from.","isRequired":true,"uniqueKey":"outcomes.items.[INDEX].picked_by.oneOf.1.cycle_id","typeLabel":"string"}},"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].picked_by.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].picked_by","typeLabel":"object"},"views_at_placement":{"type":"integer","minimum":0,"example":1875,"description":"Exact, from the board's `origin_hit`. Net views are readings minus this. Delivered files: `rtb_start_counts.views_at_placement`.","isRequired":true,"uniqueKey":"outcomes.items.[INDEX].views_at_placement","typeLabel":"integer"},"readings":{"type":"array","maxItems":4,"items":{"type":"object","properties":{"age_h":{"type":"integer","enum":[1,6,24,48],"example":1,"description":"Hours since placement: 1, 6, 24 or 48.","isRequired":true,"uniqueKey":"outcomes.items.[INDEX].readings.items.[INDEX].age_h","typeLabel":"enum\u003cinteger>"},"observed_at":{"type":"string","format":"date-time","description":"When the counters were read.","example":"2026-09-29T03:40:00+09:00","pattern":"^\\d{4}-\\d{2}-\\d{2}[Tt]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:[Zz]|[+-]\\d{2}:\\d{2})$","isRequired":true,"uniqueKey":"outcomes.items.[INDEX].readings.items.[INDEX].observed_at","typeLabel":"string\u003cdate-time>"},"views":{"oneOf":[{"type":"integer","minimum":0,"description":"Cumulative views on the board copy.","example":9120,"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].readings.items.[INDEX].views.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Cumulative views on the board copy.","example":9120,"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].readings.items.[INDEX].views.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].readings.items.[INDEX].views","typeLabel":"integer | null"},"up":{"oneOf":[{"type":"integer","minimum":0,"description":"Cumulative up-votes on the board copy.","example":66,"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].readings.items.[INDEX].up.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Cumulative up-votes on the board copy.","example":66,"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].readings.items.[INDEX].up.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].readings.items.[INDEX].up","typeLabel":"integer | null"},"down":{"oneOf":[{"type":"integer","minimum":0,"description":"Cumulative down-votes on the board copy.","example":8,"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].readings.items.[INDEX].down.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Cumulative down-votes on the board copy.","example":8,"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].readings.items.[INDEX].down.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].readings.items.[INDEX].down","typeLabel":"integer | null"},"comment_cnt":{"oneOf":[{"type":"integer","minimum":0,"description":"Cumulative comments on the board copy.","example":30,"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].readings.items.[INDEX].comment_cnt.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Cumulative comments on the board copy.","example":30,"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].readings.items.[INDEX].comment_cnt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"outcomes.items.[INDEX].readings.items.[INDEX].comment_cnt","typeLabel":"integer | null"}},"required":["age_h","observed_at","views","up","down","comment_cnt"],"description":"Board-copy counters sampled at 1, 6, 24 or 48 hours after placement. Placement baselines support net-growth calculations. These are sampling ages, not upload frequencies; outcome and training-label semantics need payload review.","uniqueKey":"outcomes.items.[INDEX].readings.items.[INDEX]","typeLabel":"object"},"description":"Known readings at 1, 6, 24 and 48 hours after placement. Daily rehearsal delivery may include several ages. On current repeated-placement updates include all known readings, because the handler replaces rather than merges.","isRequired":true,"uniqueKey":"outcomes.items.[INDEX].readings","typeLabel":"object[]"},"score_at_placement":{"oneOf":[{"type":"number","example":0.62,"description":"The publish score the post had when placed. Lets us compare model and operator picks on the same board.","uniqueKey":"outcomes.items.[INDEX].score_at_placement.oneOf.0","typeLabel":"number"},{"type":"null","example":0.62,"description":"The publish score the post had when placed. Lets us compare model and operator picks on the same board.","uniqueKey":"outcomes.items.[INDEX].score_at_placement.oneOf.1","typeLabel":"null"}],"uniqueKey":"outcomes.items.[INDEX].score_at_placement","typeLabel":"number | null"},"up_at_placement":{"oneOf":[{"type":"integer","minimum":0,"description":"Last gallery-side up-votes before placement.","example":40,"uniqueKey":"outcomes.items.[INDEX].up_at_placement.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Last gallery-side up-votes before placement.","example":40,"uniqueKey":"outcomes.items.[INDEX].up_at_placement.oneOf.1","typeLabel":"null"}],"uniqueKey":"outcomes.items.[INDEX].up_at_placement","typeLabel":"integer | null"},"down_at_placement":{"oneOf":[{"type":"integer","minimum":0,"description":"Last gallery-side down-votes before placement.","example":3,"uniqueKey":"outcomes.items.[INDEX].down_at_placement.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Last gallery-side down-votes before placement.","example":3,"uniqueKey":"outcomes.items.[INDEX].down_at_placement.oneOf.1","typeLabel":"null"}],"uniqueKey":"outcomes.items.[INDEX].down_at_placement","typeLabel":"integer | null"},"comment_at_placement":{"oneOf":[{"type":"integer","minimum":0,"description":"Last gallery-side comment count before placement.","example":21,"uniqueKey":"outcomes.items.[INDEX].comment_at_placement.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Last gallery-side comment count before placement.","example":21,"uniqueKey":"outcomes.items.[INDEX].comment_at_placement.oneOf.1","typeLabel":"null"}],"uniqueKey":"outcomes.items.[INDEX].comment_at_placement","typeLabel":"integer | null"},"hidden_after_exposure":{"oneOf":[{"type":"boolean","example":true,"description":"The label DCinside has today: the post was hidden after it was exposed. Send it now, and use `hidden_at` once timed hides exist.","uniqueKey":"outcomes.items.[INDEX].hidden_after_exposure.oneOf.0","typeLabel":"boolean"},{"type":"null","example":true,"description":"The label DCinside has today: the post was hidden after it was exposed. Send it now, and use `hidden_at` once timed hides exist.","uniqueKey":"outcomes.items.[INDEX].hidden_after_exposure.oneOf.1","typeLabel":"null"}],"uniqueKey":"outcomes.items.[INDEX].hidden_after_exposure","typeLabel":"boolean | null"},"hidden_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the post was taken down. DCinside's admin does not record this today, so send `null` until timed hides are logged through the unpublish path.","example":"2026-09-29T05:00:00+09:00","pattern":"^\\d{4}-\\d{2}-\\d{2}[Tt]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:[Zz]|[+-]\\d{2}:\\d{2})$","uniqueKey":"outcomes.items.[INDEX].hidden_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the post was taken down. DCinside's admin does not record this today, so send `null` until timed hides are logged through the unpublish path.","example":"2026-09-29T05:00:00+09:00","pattern":"^\\d{4}-\\d{2}-\\d{2}[Tt]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:[Zz]|[+-]\\d{2}:\\d{2})$","uniqueKey":"outcomes.items.[INDEX].hidden_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"outcomes.items.[INDEX].hidden_at","typeLabel":"string\u003cdate-time> | null"},"deleted_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the post was deleted, if it was. Delivered files: `deletion.deleted_at`.","example":"2026-09-29T06:00:00+09:00","pattern":"^\\d{4}-\\d{2}-\\d{2}[Tt]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:[Zz]|[+-]\\d{2}:\\d{2})$","uniqueKey":"outcomes.items.[INDEX].deleted_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the post was deleted, if it was. Delivered files: `deletion.deleted_at`.","example":"2026-09-29T06:00:00+09:00","pattern":"^\\d{4}-\\d{2}-\\d{2}[Tt]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:[Zz]|[+-]\\d{2}:\\d{2})$","uniqueKey":"outcomes.items.[INDEX].deleted_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"outcomes.items.[INDEX].deleted_at","typeLabel":"string\u003cdate-time> | null"},"deleted_by":{"oneOf":[{"type":"string","enum":["author","admin","auto",null],"example":null,"description":"Who deleted it: `author`, `admin` or `auto`. Delivered files: `deletion.deleted_by`.","uniqueKey":"outcomes.items.[INDEX].deleted_by.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["author","admin","auto",null],"example":null,"description":"Who deleted it: `author`, `admin` or `auto`. Delivered files: `deletion.deleted_by`.","uniqueKey":"outcomes.items.[INDEX].deleted_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"outcomes.items.[INDEX].deleted_by","typeLabel":"enum\u003cstring> | null"},"deleted_relative":{"oneOf":[{"type":"string","enum":["before_decision","after_decision",null],"example":null,"description":"Whether the deletion came before or after the operator's decision. Only `after_decision` is an outcome of the placement. Delivered files: `deletion.deleted_relative`.","uniqueKey":"outcomes.items.[INDEX].deleted_relative.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["before_decision","after_decision",null],"example":null,"description":"Whether the deletion came before or after the operator's decision. Only `after_decision` is an outcome of the placement. Delivered files: `deletion.deleted_relative`.","uniqueKey":"outcomes.items.[INDEX].deleted_relative.oneOf.1","typeLabel":"null"}],"uniqueKey":"outcomes.items.[INDEX].deleted_relative","typeLabel":"enum\u003cstring> | null"}},"required":["placement_id","gall_id","post_no","tier","placed_at","picked_by","views_at_placement","readings"],"description":"One placement of a post on a board, with its outcome readings.","uniqueKey":"outcomes.items.[INDEX]","typeLabel":"object"},"description":"One record per placement. Current 5,000-record protection is an engineering limit, not an agreed quota. Daily operator-placed outcomes support rehearsal.","isRequired":true,"uniqueKey":"outcomes","typeLabel":"object[]"}},"required":["outcomes"],"uniqueKey":"","typeLabel":"object"},"example":{"outcomes":[{"placement_id":"example-4390001","gall_id":"example_gallery","post_no":31899120,"tier":"main","placed_at":"2026-09-29T02:40:00+09:00","picked_by":{"type":"operator"},"score_at_placement":0.62,"views_at_placement":1875,"up_at_placement":40,"down_at_placement":3,"comment_at_placement":21,"readings":[{"age_h":1,"observed_at":"2026-09-29T03:40:00+09:00","views":9120,"up":66,"down":8,"comment_cnt":30}],"hidden_at":null,"deleted_at":null,"deleted_by":null}]},"examples":{"Example":{"title":"Example","value":{"outcomes":[{"placement_id":"example-4390001","gall_id":"example_gallery","post_no":31899120,"tier":"main","placed_at":"2026-09-29T02:40:00+09:00","picked_by":{"type":"operator"},"score_at_placement":0.62,"views_at_placement":1875,"up_at_placement":40,"down_at_placement":3,"comment_at_placement":21,"readings":[{"age_h":1,"observed_at":"2026-09-29T03:40:00+09:00","views":9120,"up":66,"down":8,"comment_cnt":30}],"hidden_at":null,"deleted_at":null,"deleted_by":null}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"2a7a57ad-e880-4f35-9ed3-5b0b637ae09a":{"description":"Stored.","content":{"application/json":{"schema":{"type":"object","properties":{"received":{"type":"integer","minimum":0,"example":1,"description":"Records in the request.","isRequired":true,"uniqueKey":"received","typeLabel":"integer"},"created":{"type":"integer","minimum":0,"example":1,"description":"Records stored as new placements.","isRequired":true,"uniqueKey":"created","typeLabel":"integer"},"updated":{"type":"integer","minimum":0,"example":0,"description":"Records that matched an existing `placement_id` and updated it.","isRequired":true,"uniqueKey":"updated","typeLabel":"integer"}},"required":["received","created","updated"],"uniqueKey":"","typeLabel":"object"},"example":{"received":1,"created":1,"updated":0},"examples":{"Example":{"title":"Example","value":{"received":1,"created":1,"updated":0}}},"exampleType":"examples"}},"exampleType":"examples"},"374eeb5a-0b0e-4cff-ba84-afc391d8b576":{"description":"Malformed JSON or a request-schema failure. Semantic checks may return only the first error; no exhaustive-error guarantee.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"bad_request","description":"Machine-readable code. See Errors.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"2 fields failed validation","description":"Human-readable summary.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"candidates[0].created_at","description":"Path of the failing field.","isRequired":true,"uniqueKey":"error.fields.items.[INDEX].path","typeLabel":"string"},"problem":{"type":"string","example":"timestamp must include an explicit offset","description":"Description of the validation failure.","isRequired":true,"uniqueKey":"error.fields.items.[INDEX].problem","typeLabel":"string"}},"required":["path","problem"],"uniqueKey":"error.fields.items.[INDEX]","typeLabel":"object"},"description":"Every failing field, when the error is about the body.","uniqueKey":"error.fields","typeLabel":"object[]"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"bad_request","message":"2 fields failed validation","fields":[{"path":"candidates[0].created_at","problem":"timestamp must include an explicit offset"},{"path":"engagement[3].views","problem":"must be a non-negative integer or null"}]}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"bad_request","message":"2 fields failed validation","fields":[{"path":"candidates[0].created_at","problem":"timestamp must include an explicit offset"},{"path":"engagement[3].views","problem":"must be a non-negative integer or null"}]}}}},"exampleType":"examples"}},"exampleType":"examples"},"72d50391-cc25-4e27-bbd4-aa0fe62309e3":{"description":"The API key is missing or unknown.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"bad_request","description":"Machine-readable code. See Errors.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"2 fields failed validation","description":"Human-readable summary.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"candidates[0].created_at","description":"Path of the failing field.","isRequired":true,"uniqueKey":"error.fields.items.[INDEX].path","typeLabel":"string"},"problem":{"type":"string","example":"timestamp must include an explicit offset","description":"Description of the validation failure.","isRequired":true,"uniqueKey":"error.fields.items.[INDEX].problem","typeLabel":"string"}},"required":["path","problem"],"uniqueKey":"error.fields.items.[INDEX]","typeLabel":"object"},"description":"Every failing field, when the error is about the body.","uniqueKey":"error.fields","typeLabel":"object[]"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"unauthorized","message":"API key missing or unknown"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"API key missing or unknown"}}}},"exampleType":"examples"}},"exampleType":"examples"},"2d16300a-842d-4435-974d-76570d292afb":{"description":"Current implementation size protection: 16 MiB JSON after decompression or 5 MiB per image. These are engineering protections, not agreed client quotas.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"bad_request","description":"Machine-readable code. See Errors.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"2 fields failed validation","description":"Human-readable summary.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"candidates[0].created_at","description":"Path of the failing field.","isRequired":true,"uniqueKey":"error.fields.items.[INDEX].path","typeLabel":"string"},"problem":{"type":"string","example":"timestamp must include an explicit offset","description":"Description of the validation failure.","isRequired":true,"uniqueKey":"error.fields.items.[INDEX].problem","typeLabel":"string"}},"required":["path","problem"],"uniqueKey":"error.fields.items.[INDEX]","typeLabel":"object"},"description":"Every failing field, when the error is about the body.","uniqueKey":"error.fields","typeLabel":"object[]"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"too_large","message":"JSON body exceeds 16 MiB after decompression"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"too_large","message":"JSON body exceeds 16 MiB after decompression"}}}},"exampleType":"examples"}},"exampleType":"examples"},"04380985-20c7-47b6-bee3-8c256b5a1c9e":{"description":"The body is valid JSON and matches the schema, but the values are not acceptable. Nothing is stored.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"bad_request","description":"Machine-readable code. See Errors.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"2 fields failed validation","description":"Human-readable summary.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"candidates[0].created_at","description":"Path of the failing field.","isRequired":true,"uniqueKey":"error.fields.items.[INDEX].path","typeLabel":"string"},"problem":{"type":"string","example":"timestamp must include an explicit offset","description":"Description of the validation failure.","isRequired":true,"uniqueKey":"error.fields.items.[INDEX].problem","typeLabel":"string"}},"required":["path","problem"],"uniqueKey":"error.fields.items.[INDEX]","typeLabel":"object"},"description":"Every failing field, when the error is about the body.","uniqueKey":"error.fields","typeLabel":"object[]"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"unprocessable","message":"cycle_time cannot be more than 60 seconds in the future","fields":[{"path":"cycle_time","problem":"must not exceed server time by more than 60 seconds"}]}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unprocessable","message":"cycle_time cannot be more than 60 seconds in the future","fields":[{"path":"cycle_time","problem":"must not exceed server time by more than 60 seconds"}]}}}},"exampleType":"examples"}},"exampleType":"examples"},"3b004b67-9082-41e8-9fc3-b42d2ebc6d34":{"description":"Server failure. Skip late or unusable scores for the decision cycle, preserve unacknowledged data and reconcile delivery. Alert delivery must be verified separately.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"bad_request","description":"Machine-readable code. See Errors.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"2 fields failed validation","description":"Human-readable summary.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","example":"candidates[0].created_at","description":"Path of the failing field.","isRequired":true,"uniqueKey":"error.fields.items.[INDEX].path","typeLabel":"string"},"problem":{"type":"string","example":"timestamp must include an explicit offset","description":"Description of the validation failure.","isRequired":true,"uniqueKey":"error.fields.items.[INDEX].problem","typeLabel":"string"}},"required":["path","problem"],"uniqueKey":"error.fields.items.[INDEX]","typeLabel":"object"},"description":"Every failing field, when the error is about the body.","uniqueKey":"error.fields","typeLabel":"object[]"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"server_error","message":"internal error"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"server_error","message":"internal error"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"10858110-c05f-43f2-9504-99ddb0a1cf38":{"ApiKey":{"type":"apiKey","name":"Authorization","in":"header","description":"Proposed API key sent as the whole Authorization header value. One long-lived key, handed privately to the partner contact and rotated on either side's request. Per-endpoint scopes are not currently enforced.","scopes":[],"schemeName":"ApiKey"}}},"servers":{"d1723271-11ec-4bd0-a177-e7183babf553":{"url":"https://dcinside-rtb-api.stg.kr.ask.surf","description":"Planned rehearsal host. Cut over only after deployment and reachability verification; this specification does not declare the endpoint available."}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","name":"Authorization","in":"header","description":"Proposed API key sent as the whole Authorization header value. One long-lived key, handed privately to the partner contact and rotated on either side's request. Per-endpoint scopes are not currently enforced.","scopes":[],"schemeName":"ApiKey"},"schema":{"title":"Authorization","type":"string","description":"Proposed API key sent as the whole Authorization header value. One long-lived key, handed privately to the partner contact and rotated on either side's request. Per-endpoint scopes are not currently enforced.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKey","name":"Authorization"}],"title":"ApiKey"}]},"originalFileLocation":"openapi.json"},"subdomain":"surfai-5f1034e6","siteName":"DCinside RTB API Documentation","title":"Operator Outcomes - DCinside RTB API Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-30T03:43:43.842Z","originalFileLocation":"outcomes.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Not in scope for trial — outcomes endpoint reference\">\u003cmeta data-mint-head name=\"application-name\" content=\"DCinside RTB API Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/surfai-5f1034e6/_generated/favicon/apple-touch-icon.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/surfai-5f1034e6/_generated/favicon/favicon-32x32.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/surfai-5f1034e6/_generated/favicon/favicon-16x16.png?v=3\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/surfai-5f1034e6/_generated/favicon/favicon.ico?v=3\">\u003cmeta data-mint-head property=\"og:title\" content=\"Operator Outcomes - DCinside RTB API Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Not in scope for trial — outcomes endpoint reference\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"DCinside RTB API Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://surf-dcinside-api.kr.ask.surf/outcomes\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://surfai-5f1034e6.mintlify.site/_mintlify/api/og/v2?division=Weights+and+Outcomes\u0026amp;title=Operator+Outcomes\u0026amp;description=Not+in+scope+for+trial+%E2%80%94+outcomes+endpoint+reference\u0026amp;theme=21aace743e76edc6f913ef76\u0026amp;signature=433b6e82783a3b3b7fc2cd10d3fcc3af02760bf8fff4357aac8f800ed8c8da4b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Operator Outcomes - DCinside RTB API Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Not in scope for trial — outcomes endpoint reference\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://surfai-5f1034e6.mintlify.site/_mintlify/api/og/v2?division=Weights+and+Outcomes\u0026amp;title=Operator+Outcomes\u0026amp;description=Not+in+scope+for+trial+%E2%80%94+outcomes+endpoint+reference\u0026amp;theme=21aace743e76edc6f913ef76\u0026amp;signature=433b6e82783a3b3b7fc2cd10d3fcc3af02760bf8fff4357aac8f800ed8c8da4b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/surfai-5f1034e6/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"DCinside RTB API Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://surf-dcinside-api.kr.ask.surf/outcomes\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/outcomes.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://surf-dcinside-api.kr.ask.surf/#organization\",\"name\":\"DCinside RTB API Documentation\",\"url\":\"https://surf-dcinside-api.kr.ask.surf\"},{\"@type\":\"WebSite\",\"@id\":\"https://surf-dcinside-api.kr.ask.surf#website\",\"name\":\"DCinside RTB API Documentation\",\"url\":\"https://surf-dcinside-api.kr.ask.surf\",\"publisher\":{\"@id\":\"https://surf-dcinside-api.kr.ask.surf/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://surf-dcinside-api.kr.ask.surf/outcomes#webpage\",\"url\":\"https://surf-dcinside-api.kr.ask.surf/outcomes\",\"name\":\"Operator Outcomes\",\"description\":\"Not in scope for trial — outcomes endpoint reference\",\"dateModified\":\"2026-09-30T03:43:43.842Z\",\"isPartOf\":{\"@id\":\"https://surf-dcinside-api.kr.ask.surf#website\"},\"breadcrumb\":{\"@id\":\"https://surf-dcinside-api.kr.ask.surf/outcomes#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://surf-dcinside-api.kr.ask.surf/outcomes#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"DCinside RTB API Documentation\",\"item\":\"https://surf-dcinside-api.kr.ask.surf\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Operator Outcomes\",\"item\":\"https://surf-dcinside-api.kr.ask.surf/outcomes\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://surf-dcinside-api.kr.ask.surf/outcomes#apireference\",\"headline\":\"Operator Outcomes\",\"name\":\"Operator Outcomes\",\"description\":\"Not in scope for trial — outcomes endpoint reference\",\"url\":\"https://surf-dcinside-api.kr.ask.surf/outcomes\",\"mainEntityOfPage\":{\"@id\":\"https://surf-dcinside-api.kr.ask.surf/outcomes#webpage\"},\"dateModified\":\"2026-09-30T03:43:43.842Z\",\"publisher\":{\"@id\":\"https://surf-dcinside-api.kr.ask.surf/#organization\"},\"isPartOf\":{\"@id\":\"https://surf-dcinside-api.kr.ask.surf#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"DCinside RTB API Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"DCinside RTB API Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/outcomes.md","siteName":"DCinside RTB API Documentation","nav":{"global":null,"groups":[{"group":"Getting Started","pages":[{"title":"Overview","href":"/overview"},{"title":"Conventions","href":"/conventions"},{"title":"How Scoring Works","href":"/scoring"},{"title":"Rehearsal and Acceptance","href":"/rollout"},{"title":"Errors and Recovery","href":"/errors"}]},{"group":"Scoring API","pages":[{"title":"Score a Cycle","openapi":"openapi.json POST /v1/cycles","href":"/cycles"},{"title":"Retrieve Cycle Scores","openapi":"openapi.json GET /v1/scores/{cycle_id}","href":"/scores"},{"title":"Event Deduplication","href":"/deduplication"},{"title":"Calling from the DCinside Worker","href":"/client"}]},{"group":"Images API","pages":[{"title":"Upload an Image","description":"Proposed image transfer for new rehearsal candidates","openapi":"openapi.json PUT /v1/images/{gall_id}/{post_no}/{NN}","href":"/images"}]},{"group":"Weights and Outcomes","tag":"Not in scope for trial","pages":[{"title":"Operator Outcomes","openapi":"openapi.json POST /v1/outcomes","href":"/outcomes"},{"title":"Set Weights","description":"Proposed configuration changes without retraining","openapi":"openapi.json PUT /v1/weights","href":"/set-weights"},{"title":"Get Weights","openapi":"openapi.json GET /v1/weights","href":"/get-weights"}]},{"group":"Operations","pages":[{"title":"Health","openapi":"openapi.json GET /v1/health","href":"/health"}]}]},"basePath":"","title":"Operator Outcomes - DCinside RTB API Documentation","buildId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","deploymentId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DDP9JXtj.js","utils-8yQyvEtx.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CBCFR8Sn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-rQaXkUHa.js","snippetPresets-J5KpBTgV.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BVxVH4Cj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BxdQ2vIi.js","shallow-BjV2tFiD.js","getApiPlaygroundDisplay-C_55tL4O.js","CodeSnippet-C0JpiCOC.js","CodeSnippets-w9Ps7djG.js","Page-DTNSD-0M.js","getPastedJson-BDfB-H8d.js","icon-g-kUkkO9.js","MethodPill-v4l6fq0h.js","DuplicateIcon-CvLo-CfU.js","createIcon-165clrrV.js","DynamicMarkdown-D3RQ-fEj.js","SectionHeading-vvo-3yLf.js","axios-vUo_bRtp.js","Markdown-CMT1uFWQ.js","clsx-C8f2yC9R.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CI2D8R2Y.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-k78Wrw_e.js"]}