openapi: 3.1.0 info: version: 1.0.0 title: The Mighty Networks Admin AbuseReports Plans API description: An API for managing your Mighty Networks network servers: - url: https://api.mn.co description: Production security: - bearerAuth: [] tags: - name: Plans description: Manage plans in your network paths: /admin/v1/networks/{network_id}/members/{member_id}/plans: get: summary: Return all plans that a member has access to operationId: list_plans tags: - Plans parameters: - name: member_id in: path required: true description: The 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 plan objects content: application/json: schema: $ref: '#/components/schemas/PlanResponsePaged' '404': description: Member not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /admin/v1/networks/{network_id}/plans: get: summary: Return all plans in the network operationId: list_plans tags: - Plans parameters: - 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 plan objects content: application/json: schema: $ref: '#/components/schemas/PlanResponsePaged' /admin/v1/networks/{network_id}/plans/{id}/: get: summary: Return a single plan by ID operationId: show_plan tags: - Plans parameters: - name: id in: path required: true description: The ID of the plan to retrieve schema: type: integer format: uint64 - $ref: '#/components/parameters/networkId' responses: '200': description: A plan object content: application/json: schema: $ref: '#/components/schemas/PlanResponse' '404': description: Plan not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: summary: Archive a plan. This will cancel all associated subscriptions and revoke access. operationId: delete_plans tags: - Plans parameters: - name: id in: path required: true description: The ID of the plan to archive schema: type: integer format: uint64 - $ref: '#/components/parameters/networkId' responses: '204': description: Plan successfully archived '404': description: Plan not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Cannot archive plan (may contain active Apple products) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /admin/v1/networks/{network_id}/plans/{plan_id}/members/{id}/: delete: summary: Remove a member from a plan by canceling their subscription or purchase operationId: delete_plans tags: - Plans parameters: - name: plan_id in: path required: true description: The ID of the plan schema: type: integer format: uint64 - name: id in: path required: true description: The ID of the member (user) to remove schema: type: integer format: uint64 - $ref: '#/components/parameters/networkId' responses: '204': description: Successfully removed member from plan '404': description: Plan or member not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Unable to remove member (may not have access to this plan) 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 PlanResponse: description: A plan represents a purchasable offering in your network type: object required: - created_at - id - name - permalink - 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' name: type: string description: The plan's name description: type: string description: The plan's description status: type: string description: The plan's status (visible, hidden, pending, rejected, archived, legacy) pricing_type: type: string description: The pricing type (free, subscription, one_time, installment, one_time_installment, token_gated, nonpaid) visible_to_members: type: boolean description: Whether the plan is visible to members external: type: boolean description: Whether the plan includes network membership multiple: type: boolean description: Whether the plan includes multiple spaces permalink: type: string description: Canonical URL to the plan's about page securitySchemes: bearerAuth: type: http scheme: bearer