Submit survey answers and change feed status

POST /task/v1/feeds/{feed_key}/survey

Operation id: submitFeedSurvey

Description

Submits survey answers and atomically changes the feed status to feed_status. Survey answer fields (e.g. q_1001, q_1002) are passed transparently to the service. File attachments are supported via multipart.

Feed identification modes same as GET survey (Mode A: positive feed_key; Mode B: feed_key=-1).

Response variants:

  • Success → {status: OK, message: "Survey submitted successfully."}
  • Validation failure (answer-level) → HTTP 200 with {status: ER, response: "...", error_list: {q_xxx: "..."}}
  • Server error → HTTP 500

Language resolution same as GET survey endpoint.

Tags: MyWorkFeeds

Parameters

Path parameters

NameTypeRequiredDescription
feed_keyintegerYesUnique numeric feed identifier

Security

  • ApiKeyHeader (apiKey)
    • APIGEE API key header validated by VerifyAPIKey policy.
  • AuthTokenHeader (apiKey)
    • Session authentication token validated server-side against the user session store.

Responses

200 — Success → {status: OK, message: "Survey submitted successfully."}.

Validation error → {status: ER, response: "...", error_list: {field: message}}.

Content type: application/json

400 — - E128 — feed_status is mandatory

  • E129 — feed_key ≤ 0 and required_unit_id or cluster_id missing

Content type: application/json

401 — Missing or invalid X-reflexis-csrf-token-X session token

Content type: application/json

500 — Unexpected server-side error

Content type: application/json

Request body

Required: Yes

multipart/form-data

Schema

PropertyTypeRequiredDescription
feed_statusstringYesTarget feed status: C=Complete, F=Force-Close (mandatory — E128 if missing)
cluster_idstringNoCluster identifier. Required when feed_key ≤ 0 (Mode B)
cluster_child_idstringNoCluster child identifier for Mode B
requested_unit_idstringNoUnit ID of target user. Required when feed_key ≤ 0 (Mode B)
requested_lang_codestringNoLanguage code override for service processing
requested_user_idstringNoUser ID of the data owner (also used as userId in service call)
requested_profile_idstringNoProfile ID of target user
requested_dept_idstringNoDepartment ID of target user
{
  "type": "object",
  "required": [
    "feed_status"
  ],
  "properties": {
    "feed_status": {
      "type": "string",
      "description": "Target feed status: C=Complete, F=Force-Close (mandatory — E128 if missing)",
      "enum": [
        "C",
        "F"
      ]
    },
    "cluster_id": {
      "type": "string",
      "description": "Cluster identifier. **Required when feed_key ≤ 0** (Mode B)"
    },
    "cluster_child_id": {
      "type": "string",
      "description": "Cluster child identifier for Mode B"
    },
    "requested_unit_id": {
      "type": "string",
      "description": "Unit ID of target user. **Required when feed_key ≤ 0** (Mode B)"
    },
    "requested_lang_code": {
      "type": "string",
      "description": "Language code override for service processing"
    },
    "requested_user_id": {
      "type": "string",
      "description": "User ID of the data owner (also used as userId in service call)"
    },
    "requested_profile_id": {
      "type": "string",
      "description": "Profile ID of target user"
    },
    "requested_dept_id": {
      "type": "string",
      "description": "Department ID of target user"
    }
  }
}

Response models

200 — Success → {status: OK, message: "Survey submitted successfully."}.

Validation error → {status: ER, response: "...", error_list: {field: message}}.

Content type: application/json

Schema

JSON object (structure varies by endpoint).

{
  "type": "object",
  "description": "JSON object (structure varies by endpoint)."
}

400 — - E128 — feed_status is mandatory

  • E129 — feed_key ≤ 0 and required_unit_id or cluster_id missing

Content type: application/json

Schema

PropertyTypeRequiredDescription
statusstringYesAlways "ER" for error responses
errorCodestringYesApplication-level error code (e.g. E202, E105, E404)
responsestringYesHuman-readable error message
{
  "type": "object",
  "example": {
    "status": "ER",
    "errorCode": "E202",
    "response": "User session is invalid"
  },
  "required": [
    "status",
    "errorCode",
    "response"
  ],
  "properties": {
    "status": {
      "type": "string",
      "description": "Always \"ER\" for error responses",
      "enum": [
        "ER"
      ]
    },
    "errorCode": {
      "type": "string",
      "description": "Application-level error code (e.g. E202, E105, E404)"
    },
    "response": {
      "type": "string",
      "description": "Human-readable error message"
    }
  }
}

401 — Missing or invalid X-reflexis-csrf-token-X session token

Content type: application/json

Schema

PropertyTypeRequiredDescription
statusstringYesAlways "ER" for error responses
errorCodestringYesApplication-level error code (e.g. E202, E105, E404)
responsestringYesHuman-readable error message
{
  "type": "object",
  "example": {
    "status": "ER",
    "errorCode": "E202",
    "response": "User session is invalid"
  },
  "required": [
    "status",
    "errorCode",
    "response"
  ],
  "properties": {
    "status": {
      "type": "string",
      "description": "Always \"ER\" for error responses",
      "enum": [
        "ER"
      ]
    },
    "errorCode": {
      "type": "string",
      "description": "Application-level error code (e.g. E202, E105, E404)"
    },
    "response": {
      "type": "string",
      "description": "Human-readable error message"
    }
  }
}

Example:

{
  "status": "ER",
  "errorCode": "E202",
  "response": "User session is invalid"
}

500 — Unexpected server-side error

Content type: application/json

Schema

PropertyTypeRequiredDescription
statusstringYesAlways "ER" for error responses
errorCodestringYesApplication-level error code (e.g. E202, E105, E404)
responsestringYesHuman-readable error message
{
  "type": "object",
  "example": {
    "status": "ER",
    "errorCode": "E202",
    "response": "User session is invalid"
  },
  "required": [
    "status",
    "errorCode",
    "response"
  ],
  "properties": {
    "status": {
      "type": "string",
      "description": "Always \"ER\" for error responses",
      "enum": [
        "ER"
      ]
    },
    "errorCode": {
      "type": "string",
      "description": "Application-level error code (e.g. E202, E105, E404)"
    },
    "response": {
      "type": "string",
      "description": "Human-readable error message"
    }
  }
}

Example:

{
  "status": "ER",
  "errorCode": "E302",
  "response": "Internal server error"
}