Filmers Endpoint

For full field documentation, see the Filmer entity.

Filmers are listed and managed using the FreeFallFilms identifier.

You can provide an external_id for your own purposes, this is treated as a regular field, and must be unique.

Endpoints

List Filmers

GET /api/f1/sync/filmers

Returns a list of filmers. By default, returns only external filmers (those with an external_id set).

Parameters

Name Type Required Description
include_all boolean No true to return all filmers, including those without an external_id (default: false)

Response

[
  {
    "id": 52,
    "external_id": "EXT123",
    "name": "John Doe",
    "email": "john@example.com",
    "tandem_instructor": true,
    "videographer": false,
    "active": true
  }
]

(some fields omitted for brevity)

Get Filmer

GET /api/f1/sync/filmers/:id

Retrieves a specific filmer by their ID.

Response

{
  "id": 52,
  "external_id": "EXT123",
  "name": "John Doe",
  "email": "john@example.com",
  "tandem_instructor": true,
  "videographer": false,
  "active": true
}

Create Filmer

POST /api/f1/sync/filmers

Creates a new filmer.

Request Format

{
  "external_id": "EXT123",
  "external_service": "dropzone_service",
  "name": "John Doe",
  "email": "john@example.com",
  "tandem_instructor": true,
  "videographer": false,
  "active": true
}

See Filmer entity for full field descriptions.

Success Response

{
  "id": 52,
  "external_id": "EXT123",
  "name": "John Doe",
  "status": "created"
}

(some fields omitted for brevity)

Error Response

{
  "error": "email is required",
  "status": "unprocessable_content"
}

Update Filmer

POST /api/f1/sync/filmers

To update - call create again using the FFF id.

The only difference is that you'll get a status ok rather than status created.

Request Format

{
  "id": 52,
  "name": "John Doe Updated"
}

Success Response

{
  "id": 52,
  "name": "John Doe Updated",
  "status": "ok"
}

(some fields omitted for brevity)

Error Responses

{
  "error": "email is required",
  "status": "unprocessable_content"
}
{
  "id": 9999,
  "error": "filmer not found",
  "status": "not_found"
}

id must be the id of an existing filmer. To create a new filmer, leave id out - FreeFallFilms assigns it.

Delete Filmer

DELETE /api/f1/sync/filmers/:id

Permanently deletes a filmer.

Note - you can only delete a filmer if they have no associated records (bookings, jumps, etc).

To remove a filmer from the iPad list, set active = false.

Response

Returns 204 No Content on success.

If the filmer still has associated records, the delete is refused: json { "id": 52, "errors": ["Cannot delete record because dependent jumps exist"], "status": "unprocessable_content" }

Notes

  • Validation errors will return appropriate error messages and status codes
  • Create/Update operations return the complete filmer object with a status field