funeralOne Cases API

Partner integration surface for pushing funeral-case data into a funeral home's f1Connect account. A Case carries the deceased's identity and obituary, an optional Base64 photo, serving-location and family-address details, cemetery coordinates, a typed Events array (Visitation, Service, Shiva, Cemetery), ExternalVideoUrls (Tribute and Webcast videos, e.g. videos.lifetributes.com), and FamilyAdmins email invitations. Creating or updating a case (POST /cases) automatically surfaces the deceased in the memorial website and Life Tributes. Endpoints are keyed by an immutable AccountExternalId (per funeral-home customer) and CaseExternalId, and authenticated with HTTP Basic using a funeralOne-issued API key.

OpenAPI Specification

funeralone-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: funeralOne Cases API
  description: >-
    Partner integration API for funeralOne's f1Connect platform. It lets a
    funeral-management / case-management system push a funeral home's cases -
    deceased identity, obituary, service events, tribute/webcast video URLs, and
    family-administrator invitations - into the funeral home's f1Connect account,
    where the data automatically populates the memorial website and Life Tributes.

    Access is partner-gated: an API key is issued by a funeralOne engineer and is
    used as the HTTP Basic username (with a blank/dummy password). Each customer
    (funeral home) is identified by an immutable AccountExternalId that funeralOne
    associates with your API key. This document models the publicly documented
    Cases resource; field lists are honestly reconstructed from the funeralOne
    developer documentation and are not an official machine-readable spec.
  version: '1.0'
  contact:
    name: funeralOne
    url: https://www.funeralone.com
servers:
  - url: https://api.funeralone.com
    description: funeralOne partner API
security:
  - basicAuth: []
tags:
  - name: Cases
    description: Create, update, and retrieve funeral cases (obituaries) for an account.
paths:
  /cases:
    post:
      operationId: createOrUpdateCase
      tags:
        - Cases
      summary: Create or update a case
      description: >-
        Creates a new case or updates an existing one (matched by
        AccountExternalId + CaseExternalId). Populates the deceased's obituary,
        events, tribute videos, and family administrators in the funeral home's
        f1Connect memorial website and Life Tributes.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Case'
      responses:
        '200':
          description: Case updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Case'
        '201':
          description: Case created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Case'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/ServerError'
  /cases/AccountExternalId/{AccountExternalId}:
    get:
      operationId: listCasesForAccount
      tags:
        - Cases
      summary: Retrieve all cases for an account
      description: Returns all cases associated with the given funeral-home account.
      parameters:
        - $ref: '#/components/parameters/AccountExternalId'
      responses:
        '200':
          description: A list of cases for the account.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Case'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /cases/AccountExternalId/{AccountExternalId}/CaseExternalId/{CaseExternalId}:
    get:
      operationId: getCase
      tags:
        - Cases
      summary: Retrieve a specific case
      description: Returns a single case identified by AccountExternalId and CaseExternalId.
      parameters:
        - $ref: '#/components/parameters/AccountExternalId'
        - $ref: '#/components/parameters/CaseExternalId'
      responses:
        '200':
          description: The requested case.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Case'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >-
        HTTP Basic authentication. Use the funeralOne-issued API key as the
        username and a blank/dummy password.
  parameters:
    AccountExternalId:
      name: AccountExternalId
      in: path
      required: true
      description: Immutable identifier (up to 50 ASCII chars) for the funeral-home customer.
      schema:
        type: string
        maxLength: 50
    CaseExternalId:
      name: CaseExternalId
      in: path
      required: true
      description: Identifier (up to 39 chars) for the case within the account.
      schema:
        type: string
        maxLength: 39
  responses:
    BadRequest:
      description: The request was malformed or failed validation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The account or case was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ServerError:
      description: An unexpected server error occurred.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Case:
      type: object
      description: A funeral case (obituary) for a deceased individual.
      required:
        - AccountExternalId
        - CaseExternalId
      properties:
        AccountExternalId:
          type: string
          maxLength: 50
          description: Immutable identifier for the funeral-home customer.
        CaseExternalId:
          type: string
          maxLength: 39
          description: Identifier for the case within the account.
        HMISCaseID:
          type: string
          description: Optional HMIS case identifier.
        Prefix:
          type: string
        FirstName:
          type: string
        MiddleName:
          type: string
        LastName:
          type: string
        Suffix:
          type: string
        DisplayName:
          type: string
        Gender:
          type: string
        BirthDate:
          type: string
          description: Date of birth, MM/DD/YYYY.
        DeathDate:
          type: string
          description: Date of death, MM/DD/YYYY.
        Obituary:
          type: string
          description: Obituary text content.
        Picture:
          type: string
          format: byte
          description: Base64-encoded JPEG portrait of the deceased.
        ServingLocation:
          $ref: '#/components/schemas/Location'
        FamilyAddress:
          $ref: '#/components/schemas/Location'
        Cemetery:
          $ref: '#/components/schemas/Location'
        Events:
          type: array
          items:
            $ref: '#/components/schemas/Event'
        ExternalVideoUrls:
          type: array
          items:
            $ref: '#/components/schemas/ExternalVideoUrl'
        FamilyAdmins:
          type: array
          description: Email addresses invited to administer/moderate the memorial content.
          items:
            type: string
            format: email
    Location:
      type: object
      description: A named address; Cemetery locations may include coordinates.
      properties:
        Name:
          type: string
        Address1:
          type: string
        Address2:
          type: string
        City:
          type: string
        State:
          type: string
        PostalCode:
          type: string
        Country:
          type: string
        Phone:
          type: string
        Latitude:
          type: number
          format: double
        Longitude:
          type: number
          format: double
    Event:
      type: object
      description: A scheduled service event associated with the case.
      properties:
        Type:
          type: string
          description: Event type.
          enum:
            - Visitation
            - Service
            - Shiva
            - Cemetery
        Date:
          type: string
          description: Event date, MM/DD/YYYY.
        EndDate:
          type: string
          description: End date, MM/DD/YYYY (used by Shiva events).
        StartTime:
          type: string
        EndTime:
          type: string
        Location:
          $ref: '#/components/schemas/Location'
        Information:
          type: string
          description: Additional information (used by Shiva events).
        Private:
          type: boolean
    ExternalVideoUrl:
      type: object
      description: A tribute or webcast video link associated with the case.
      properties:
        Type:
          type: string
          enum:
            - Tribute
            - Webcast
        Url:
          type: string
          format: uri
        Caption:
          type: string
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string