openapi: 3.1.0 info: version: 1.0.0 title: The Mighty Networks Admin AbuseReports Answers API description: An API for managing your Mighty Networks network servers: - url: https://api.mn.co description: Production security: - bearerAuth: [] tags: - name: Answers description: Manage member responses to custom fields paths: /admin/v1/networks/{network_id}/custom_fields/{custom_field_id}/members/{member_id}/answers: get: summary: Return all responses for a member to a custom field operationId: list_answers tags: - Answers parameters: - name: custom_field_id in: path required: true description: ID of the custom field schema: type: integer format: uint64 - name: member_id in: path required: true description: ID of the member schema: type: integer format: uint64 - name: page in: query required: false description: Page number for pagination schema: type: integer format: uint64 - name: per_page in: query required: false description: Items per page (max 100) schema: type: integer format: uint64 - $ref: '#/components/parameters/networkId' responses: '200': description: A paginated set of custom field answer objects content: application/json: schema: $ref: '#/components/schemas/CustomFieldAnswerResponsePaged' '404': description: Custom field or member not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: summary: Create or update a member's response to a custom field operationId: create_answers tags: - Answers parameters: - name: custom_field_id in: path required: true description: ID of the custom field schema: type: integer format: uint64 - name: member_id in: path required: true description: ID of the member schema: type: integer format: uint64 - $ref: '#/components/parameters/networkId' requestBody: description: Submit results as JSON required: true content: application/json: schema: $ref: '#/components/schemas/CustomFieldAnswerRequest' responses: '200': description: The custom field answer object content: application/json: schema: $ref: '#/components/schemas/CustomFieldAnswerResponse' '403': description: You do not have permission to manage this member's responses content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Custom field or member not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Validation error (e.g., text length constraints, segment count, etc.) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: summary: Delete a member's response to a custom field operationId: delete_answers tags: - Answers parameters: - name: custom_field_id in: path required: true description: ID of the custom field schema: type: integer format: uint64 - name: member_id in: path required: true description: ID of the member schema: type: integer format: uint64 - $ref: '#/components/parameters/networkId' responses: '204': description: Response deleted successfully '403': description: You do not have permission to manage this member's responses content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Custom field, member, or answer not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Unsupported custom field type content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /admin/v1/networks/{network_id}/custom_fields/{custom_field_id}/members/{member_id}/answers/{id}/: get: summary: Return a single response by ID operationId: show_answer tags: - Answers parameters: - name: custom_field_id in: path required: true description: ID of the custom field schema: type: integer format: uint64 - name: member_id in: path required: true description: ID of the member schema: type: integer format: uint64 - name: id in: path required: true description: ID of the response schema: type: integer format: uint64 - $ref: '#/components/parameters/networkId' responses: '200': description: A custom field answer object content: application/json: schema: $ref: '#/components/schemas/CustomFieldAnswerResponse' '404': description: Custom field, member, or response not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: parameters: networkId: name: network_id in: path description: The Network's unique integer ID, or subdomain required: true schema: oneOf: - type: integer description: Unique numeric network ID format: uint64 - type: string description: Network subdomain format: /^[a-z][a-z0-9-]+$/ schemas: ErrorResponse: type: object required: - error properties: error: type: string description: An error message explaining the problem encountered CustomFieldAnswerRequest: description: Request to create or update a custom field answer type: object required: [] properties: text: type: string description: The text response for text-based custom fields example: I love hiking and photography segment_ids: type: array description: Array of segment IDs for dropdown custom fields items: type: integer format: uint64 CustomFieldAnswerResponse: description: A user's response to a custom field question type: object required: - created_at - custom_field_id - id - last_edited_at - updated_at - user_id properties: id: type: integer format: uint64 description: The record's integer ID example: '1234' created_at: type: string format: date-time description: The date and time the record was created example: '2026-07-05T21:11:41+00:00' updated_at: type: string format: date-time description: The date and time the record was last modified example: '2026-07-05T21:11:41+00:00' user_id: type: integer format: uint64 description: ID of the user who provided this response example: 12345 custom_field_id: type: integer format: uint64 description: ID of the custom field this response is for example: 67890 text: type: string description: The text response (for text-based custom fields) example: I love hiking and photography segments: type: array description: Array of segments (for dropdown custom fields) items: $ref: '#/components/schemas/SegmentResponse' last_edited_at: type: string format: date-time description: When this response was last edited example: '2025-01-15T10:30:00Z' SegmentResponse: description: Segments are custom field options used to categorize members type: object required: - created_at - custom_field_id - id - title - updated_at properties: id: type: integer format: uint64 description: The record's integer ID example: '1234' created_at: type: string format: date-time description: The date and time the record was created example: '2026-07-05T21:11:41+00:00' updated_at: type: string format: date-time description: The date and time the record was last modified example: '2026-07-05T21:11:41+00:00' title: type: string description: The title of the segment example: Gold Member description: type: string description: The description of the segment example: Premium tier members color: type: string description: The hex color code for the segment example: '#FFD700' custom_field_id: type: integer format: uint64 description: The ID of the custom field this segment belongs to securitySchemes: bearerAuth: type: http scheme: bearer