> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thefaithapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Care Request

> Replaces the editable fields on an open request owned by the authenticated member. Send the complete care-request payload. Resolved, withdrawn, or retention-purged requests cannot be edited.



## OpenAPI

````yaml /api-reference/openapi.json put /v1/care-requests/{careRequest}
openapi: 3.1.0
info:
  title: TheFaithApp Partner API
  version: 1.0.0
  description: >-
    The v1 API for third-party apps that sign in TheFaithApp members and access
    church-scoped content and workflows.
  contact:
    name: TheFaithApp Support
    email: support@thefaithapp.com
servers:
  - url: https://api.thefaithapp.com
    description: Production
security:
  - apiKeyAuth: []
    bearerAuth: []
tags:
  - name: Hosted Auth
    description: Sign members in through the hosted TheFaithApp authentication flow.
  - name: Core Experience
    description: Load member context and the personalized home experience.
  - name: Content
    description: >-
      Read sermons, media, YouTube videos, devotionals, and streaming
      configuration.
  - name: Engagement
    description: Manage member favorites and devotional bookmarks.
  - name: Churches
    description: Read church profiles, public directory records, and branch information.
  - name: Events & Volunteers
    description: >-
      Browse events and volunteer opportunities, then manage registrations and
      commitments.
  - name: Notifications & Bulletins
    description: Read church and member notifications and published bulletins.
  - name: Prayer
    description: Submit a prayer request for the authenticated member.
  - name: Pastoral Care
    description: >-
      Manage the authenticated member’s confidential care requests,
      consent-based follow-up preferences, private life moments, and quiet days.
  - name: Member Connections
    description: Manage the member’s campus and ministry connections.
  - name: Community Groups
    description: >-
      Discover groups and manage membership, feeds, attendance, study guides,
      and leader notes.
  - name: Community Preferences & Research
    description: >-
      Manage community preferences, summaries, and consent-based research
      participation.
  - name: Resource Sharing
    description: Offer shared resources and manage member loan requests and transitions.
  - name: Mutual Aid
    description: >-
      Manage needs and offers, private responses, safety reports, and member
      activity.
  - name: Analytics
    description: Record product analytics events and retrieve aggregate metrics.
  - name: Notification Analytics
    description: Record and summarize notification delivery, open, and click events.
paths:
  /v1/care-requests/{careRequest}:
    put:
      tags:
        - Pastoral Care
      summary: Update Care Request
      description: >-
        Replaces the editable fields on an open request owned by the
        authenticated member. Send the complete care-request payload. Resolved,
        withdrawn, or retention-purged requests cannot be edited.
      operationId: putCareRequestsCareRequest
      parameters:
        - name: careRequest
          in: path
          required: true
          description: Care request identifier.
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CareRequestInput'
            example:
              type: hospital_visit
              privacy: pastoral_only
              urgency: soon
              details: Please arrange a hospital visit later this week.
              contact_preference: email
              contact_consent: true
      responses:
        '200':
          description: The care request was updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CareRequestResponse'
              example:
                status: Success
                message: Your care request was updated.
                data:
                  care_request:
                    id: 412
                    type: hospital_visit
                    privacy: pastoral_only
                    urgency: soon
                    status: assigned
                    details: Please arrange a hospital visit later this week.
                    contact_preference: email
                    contact_value: '+256700000001'
                    contact_consent_at: '2026-07-25T09:00:00.000000Z'
                    emergency_acknowledged_at: null
                    has_assigned_caregiver: true
                    next_follow_up_at: '2026-07-26T12:00:00.000000Z'
                    resolved_at: null
                    withdrawn_at: null
                    retention_expires_at: null
                    content_purged: false
                    source: member
                    can_edit: true
                    can_withdraw: true
                    visits:
                      - id: 84
                        kind: hospital
                        status: scheduled
                        caregiver_name: Pastor Grace
                        starts_at: '2026-07-27T10:00:00.000000Z'
                        ends_at: '2026-07-27T10:45:00.000000Z'
                        location: City Hospital
                        instructions: Please call when you arrive.
                        outcome: null
                    support_plan: null
                    timeline:
                      - id: 128
                        event: request_created
                        status: new
                        created_at: '2026-07-25T09:00:00.000000Z'
                      - id: 131
                        event: staff_workflow_updated
                        status: assigned
                        created_at: '2026-07-25T10:15:00.000000Z'
                    created_at: '2026-07-25T09:00:00.000000Z'
                    updated_at: '2026-07-25T10:15:00.000000Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/ValidationError'
        '500':
          $ref: '#/components/responses/ServerError'
components:
  schemas:
    CareRequestInput:
      type: object
      additionalProperties: false
      required:
        - type
        - privacy
        - urgency
        - details
        - contact_preference
        - contact_consent
      properties:
        type:
          $ref: '#/components/schemas/CareRequestType'
        privacy:
          $ref: '#/components/schemas/CareRequestPrivacy'
        urgency:
          $ref: '#/components/schemas/CareRequestUrgency'
        details:
          type: string
          description: Confidential details for the authorized care team.
          minLength: 10
          maxLength: 5000
        contact_preference:
          $ref: '#/components/schemas/CareContactPreference'
        contact_value:
          type:
            - string
            - 'null'
          description: >-
            Optional phone number or email address. When omitted, the matching
            member profile value is used.
          maxLength: 255
        contact_consent:
          type: boolean
          description: Confirms that the church care team may contact the member.
        emergency_acknowledged:
          type: boolean
          description: >-
            Required for urgent or crisis requests. Confirms that Pastoral Care
            is not an emergency service.
    CareRequestResponse:
      type: object
      required:
        - status
        - data
      properties:
        status:
          type: string
          description: Request result.
          example: Success
        message:
          type: string
          description: Member-facing result message.
        data:
          type: object
          required:
            - care_request
          properties:
            care_request:
              $ref: '#/components/schemas/CareRequest'
    CareRequestType:
      type: string
      description: Type of pastoral care requested.
      enum:
        - general_care
        - hospital_visit
        - home_visit
        - new_baby_support
        - counseling
        - benevolence
        - grief_support
        - illness_support
        - crisis_support
        - pastoral_follow_up
        - wedding_preparation
        - baby_dedication
        - funeral_support
        - relocation_support
        - pastoral_recommendation
      example: hospital_visit
    CareRequestPrivacy:
      type: string
      description: Authorized staff audience for the request.
      enum:
        - care_team
        - pastoral_only
      example: care_team
    CareRequestUrgency:
      type: string
      description: Requested follow-up speed.
      enum:
        - standard
        - soon
        - urgent
      example: soon
    CareContactPreference:
      type: string
      description: How the member prefers to be contacted.
      enum:
        - in_app
        - phone
        - text
        - email
      example: phone
    CareRequest:
      type: object
      required:
        - id
        - type
        - privacy
        - urgency
        - status
        - has_assigned_caregiver
        - content_purged
        - source
        - can_edit
        - can_withdraw
      properties:
        id:
          type: integer
          description: Care request identifier.
          example: 412
        type:
          $ref: '#/components/schemas/CareRequestType'
        privacy:
          $ref: '#/components/schemas/CareRequestPrivacy'
        urgency:
          $ref: '#/components/schemas/CareRequestUrgency'
        status:
          $ref: '#/components/schemas/CareRequestStatus'
        details:
          type:
            - string
            - 'null'
          description: >-
            The member’s confidential request details, or null after retention
            removal.
        contact_preference:
          $ref: '#/components/schemas/CareContactPreference'
        contact_value:
          type:
            - string
            - 'null'
          description: The member-approved contact detail, or null after retention removal.
        contact_consent_at:
          type:
            - string
            - 'null'
          description: When contact consent was recorded.
          format: date-time
        emergency_acknowledged_at:
          type:
            - string
            - 'null'
          description: When the urgent-care notice was acknowledged.
          format: date-time
        has_assigned_caregiver:
          type: boolean
          description: Whether an authorized caregiver has been assigned.
        next_follow_up_at:
          type:
            - string
            - 'null'
          description: Next member-visible follow-up time.
          format: date-time
        resolved_at:
          type:
            - string
            - 'null'
          description: Resolution time.
          format: date-time
        withdrawn_at:
          type:
            - string
            - 'null'
          description: Withdrawal time.
          format: date-time
        retention_expires_at:
          type:
            - string
            - 'null'
          description: When closed confidential content becomes eligible for removal.
          format: date-time
        content_purged:
          type: boolean
          description: Whether retained confidential content has been removed.
        source:
          type: string
          description: How the request entered Pastoral Care.
          enum:
            - member
            - prayer_handoff
          example: member
        can_edit:
          type: boolean
          description: Whether the authenticated member may still edit the request.
        can_withdraw:
          type: boolean
          description: Whether the authenticated member may still withdraw the request.
        visits:
          type: array
          items:
            $ref: '#/components/schemas/CareVisit'
          description: Member-visible scheduled and completed care visits.
        support_plan:
          $ref: '#/components/schemas/CareSupportPlan'
        timeline:
          type: array
          items:
            $ref: '#/components/schemas/CareTimelineEvent'
          description: Member-safe care activity. Staff notes and tasks are never included.
        created_at:
          type:
            - string
            - 'null'
          description: Creation time.
          format: date-time
        updated_at:
          type:
            - string
            - 'null'
          description: Last update time.
          format: date-time
    ErrorResponse:
      type: object
      description: >-
        Error response. Validation failures also include an `errors` object
        keyed by field name.
      properties:
        status:
          type: string
          example: Error
        message:
          type: string
          example: The request could not be completed.
        error:
          type:
            - string
            - 'null'
          example: null
        error_message:
          type:
            - string
            - 'null'
          example: null
        errors:
          type: object
          additionalProperties: true
    CareRequestStatus:
      type: string
      description: Current care workflow status.
      enum:
        - new
        - assigned
        - in_progress
        - resolved
        - withdrawn
      example: new
    CareVisit:
      type: object
      required:
        - id
        - kind
        - status
      properties:
        id:
          type: integer
          description: Visit identifier.
          example: 84
        kind:
          type: string
          description: Visit kind.
          enum:
            - hospital
            - home
            - other
          example: hospital
        status:
          type: string
          description: Visit status.
          enum:
            - scheduled
            - completed
            - cancelled
          example: scheduled
        caregiver_name:
          type:
            - string
            - 'null'
          description: Assigned caregiver display name.
          example: Pastor Grace
        starts_at:
          type:
            - string
            - 'null'
          description: Scheduled start time.
          format: date-time
        ends_at:
          type:
            - string
            - 'null'
          description: Scheduled end time.
          format: date-time
        location:
          type:
            - string
            - 'null'
          description: Member-visible visit location.
        instructions:
          type:
            - string
            - 'null'
          description: Member-visible visit instructions.
        outcome:
          type:
            - string
            - 'null'
          description: Member-visible visit outcome after completion.
    CareSupportPlan:
      type:
        - object
        - 'null'
      properties:
        id:
          type: integer
          description: Support plan identifier.
          example: 29
        kind:
          type: string
          description: Support plan kind.
          example: new_baby
        status:
          type: string
          description: Support plan status.
          enum:
            - active
            - completed
            - cancelled
          example: active
        coordinator_name:
          type:
            - string
            - 'null'
          description: Coordinator display name.
          example: Jordan M.
        starts_on:
          type:
            - string
            - 'null'
          description: Plan start date.
          format: date
        ends_on:
          type:
            - string
            - 'null'
          description: Plan end date.
          format: date
        support_preferences:
          type: array
          items:
            type: string
          description: Member-approved types of support being coordinated.
    CareTimelineEvent:
      type: object
      required:
        - id
        - event
      properties:
        id:
          type: integer
          description: Timeline event identifier.
          example: 128
        event:
          type: string
          description: Member-safe workflow event.
          enum:
            - request_created
            - request_updated_by_member
            - created_from_prayer_handoff
            - staff_workflow_updated
            - visit_scheduled
            - visit_updated
            - support_plan_updated
            - request_withdrawn
            - content_purged
          example: request_created
        status:
          type:
            - string
            - 'null'
          description: Status recorded with the event, when present.
        created_at:
          type:
            - string
            - 'null'
          description: Event time.
          format: date-time
  responses:
    BadRequest:
      description: The request is not valid for the current resource state.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: >-
        The API key or member bearer token is missing, invalid, expired, or
        belongs to another church.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: The member is authenticated but cannot perform this action.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: The requested resource was not found in the authenticated church.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ValidationError:
      description: One or more request fields failed validation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ServerError:
      description: >-
        The request could not be completed because of an unexpected server
        error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        Client API key copied from Developer Access in the TheFaithApp
        dashboard.
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Sanctum
      description: Member access token returned by `POST /v1/auth/token`.

````