How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

FlipperForce Public API

The FlipperForce Public API is the REST API behind Upright's (formerly Fund That Flip's) FlipperForce project management platform for real estate redevelopers. It exposes 50 operations across projects, expense transactions and line items, expense categories and accounts, project income, receipts, photo logs, project updates, companies and company categories, file upload intents, the user account and the workspace activity log. Access is by request only: a workspace owner requests a Public API key from Workspace Settings > Integrations, and the key is sent as an HTTP Bearer token.

FlipperForce Public API is published by Fund That Flip on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Project, Expenses, Income, Receipts, and Photos. The published artifact set on APIs.io includes an OpenAPI specification, an API reference, and API documentation.

This API exposes 50 operations across 37 paths, organized into 15 resource areas, and defines 52 schemas. It is described by OpenAPI 3.1.0, at version 0.0.10.

Requests are made against a single base URL, https://tools.flipperforce.com/api/v1.

50 operations 37 paths 52 schemas 11 DELETE18 GET9 PATCH11 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
0.0.10
Base URL
https://tools.flipperforce.com/api/v1
Authentication
HTTP Bearer
Resource Areas
15

Authentication & Security 1

FlipperForce Public API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (FlipperForce Public API key) (PublicApiBearerAuth). By default, every request must be authenticated.

  • PublicApiBearerAuth — Use the Public API key provided by FlipperForce as a Bearer token. Send the key exactly as provided in the Authorization header: Authorization: Bearer .

Paths & Operations 50

Across 37 paths, the API surfaces 50 operations — 11 DELETE, 18 GET, 9 PATCH, 11 POST, 1 PUT. They span 15 resource areas, including User, Activity Log, Project, Project Expenses: Transactions, Project Expenses: Line Items, Project Expenses: Categories, Project Income, Project Photo Log: Photos, and 7 more. Each is listed below with its method, path, parameters, and response codes.

User 1
GET
/user/account
Account
v1.user.account → 200401
Activity Log 2
GET
/workspace/{workspace}/activity-log/list
List
v1.workspace.activity-log.list 8 params → 200401422403
GET
/workspace/{workspace}/activity-log/filters
Filters
v1.workspace.activity-log.filters 1 param → 200401403
Project 4
GET
/project/list
List
v1.project.list 3 params → 200422401
POST
/workspace/{workspace}/project
Create
v1.project.create 1 param body → 201401422403
PATCH
/project/{projectV1}
Update
v1.project.update 1 param body → 200401422403
DELETE
/project/{projectV1}
Delete
v1.project.delete 1 param → 204401403
Project Expenses: Transactions 5
GET
/project/{projectV1}/expense-transactions/list
List
v1.project.expense-transactions.list 4 params → 200401422403
POST
/project/{projectV1}/expense-transactions/create
Create
v1.project.expense-transactions.create 1 param body → 201401422403
GET
/project/{projectV1}/expense-transactions/{transactionUuid}
Show
v1.project.expense-transactions.show 2 params → 200401403
PATCH
/project/{projectV1}/expense-transactions/{transactionUuid}
Update
v1.project.expense-transactions.update 2 params body → 200401422403
DELETE
/project/{projectV1}/expense-transactions/{transactionUuid}
Delete
v1.project.expense-transactions.delete 2 params → 204401403
Project Expenses: Line Items 4
GET
/project/{projectV1}/expense-line-items/list
List
v1.project.expense-line-items.list 16 params → 200401422403
GET
/project/{projectV1}/expense-line-items/{expenseUuid}
Show
v1.project.expense-line-items.show 2 params → 200401403
PATCH
/project/{projectV1}/expense-line-items/{expenseUuid}
Update
v1.project.expense-line-items.update 2 params body → 200401422403
DELETE
/project/{projectV1}/expense-line-items/{expenseUuid}
Delete
v1.project.expense-line-items.delete 2 params → 200401403
Project Expenses: Categories 1
GET
/project/{projectV1}/expense-categories/list
List
v1.project.expense-categories.list 1 param → 200401403
Project Income 5
GET
/project/{projectV1}/income/list
List
v1.project.income.list 9 params → 200401422403
POST
/project/{projectV1}/income/create
Create
v1.project.income.create 1 param body → 201401422403
GET
/project/{projectV1}/income/{incomeUuid}
Show
v1.project.income.show 2 params → 200401403
PATCH
/project/{projectV1}/income/{incomeUuid}
Update
v1.project.income.update 2 params body → 200401422403
DELETE
/project/{projectV1}/income/{incomeUuid}
Delete
v1.project.income.delete 2 params → 204401403
Project Photo Log: Photos 4
GET
/project/{projectV1}/photo-log
List
v1.project.photo-log.list 1 param → 200401403
POST
/project/{projectV1}/photo-log/create
Create
v1.project.photo-log.create 1 param body → 201422401403
PATCH
/project/{projectV1}/photo-log/{photoUuid}
Update
v1.project.photo-log.update 2 params body → 200401422403
DELETE
/project/{projectV1}/photo-log/{photoUuid}
Delete
v1.project.photo-log.destroy 2 params → 204401403
Project Receipts 4
GET
/project/{projectV1}/receipts/list
List
v1.project.receipts.list 3 params → 200401422403
POST
/project/{projectV1}/receipts/create
Create
v1.project.receipts.create 1 param body → 201401422403
PATCH
/project/{projectV1}/receipts/{receiptUuid}
Update
v1.project.receipts.update 2 params body → 200401422403
DELETE
/project/{projectV1}/receipts/{receiptUuid}
Delete
v1.project.receipts.delete 2 params → 204401403
Project Updates 4
GET
/project/{projectV1}/updates/list
List
v1.project.updates.list 1 param → 200401403
POST
/project/{projectV1}/updates/create
Create
v1.project.updates.create 1 param body → 201401422403
PUT
/project/{projectV1}/updates/{updateUuid}
Update
v1.project.updates.update 2 params body → 200401422403
DELETE
/project/{projectV1}/updates/{updateUuid}
Delete
v1.project.updates.destroy 2 params → 204401403
Project Updates: Photos 2
POST
/project/{projectV1}/updates/{updateUuid}/photos
Create
v1.project.updates.photos.create 2 params body → 201422401403
DELETE
/project/{projectV1}/updates/photos/{photoUuid}
Remove
v1.project.updates.photos.destroy 2 params → 204404401403
Company 5
GET
/workspace/{workspace}/companies/list
List
v1.workspace.companies.list 1 param → 200401403
GET
/workspace/{workspace}/companies/list/category/{categoryUuid}
List By Category
v1.workspace.companies.list.category 2 params → 200401403
POST
/workspace/{workspace}/companies/create
Create
v1.workspace.companies.create 1 param body → 201401422403
PATCH
/workspace/{workspace}/companies/{companyUuid}
Update
v1.workspace.companies.update 2 params body → 200401422403
DELETE
/workspace/{workspace}/companies/{companyUuid}
Delete
v1.workspace.companies.delete 2 params → 204401403
Company: Categories 4
GET
/workspace/{workspace}/companies/categories/list
List
v1.workspace.companies.categories.list 1 param → 200401403
POST
/workspace/{workspace}/companies/categories/create
Create
v1.workspace.companies.categories.create 1 param body → 201401422403
PATCH
/workspace/{workspace}/companies/categories/{categoryUuid}
Update
v1.workspace.companies.categories.update 2 params body → 200401422403
DELETE
/workspace/{workspace}/companies/categories/{categoryUuid}
Delete
v1.workspace.companies.categories.delete 2 params → 204401403
Expense Accounts 4
GET
/workspace/{workspace}/expense-accounts/list
List
v1.workspace.expense-accounts.list 1 param → 200401403
POST
/workspace/{workspace}/expense-accounts/create
Create
v1.workspace.expense-accounts.create 1 param body → 201401422403
PATCH
/workspace/{workspace}/expense-accounts/{accountUuid}
Update
v1.workspace.expense-accounts.update 2 params body → 200401422403
DELETE
/workspace/{workspace}/expense-accounts/{accountUuid}
Delete
v1.workspace.expense-accounts.delete 2 params → 204401403
Attachment Upload 1
POST
/workspace/{workspace}/upload-intent
Create Upload Intent
v1.workspace.upload-intent.create 1 param body → 201422401403

Schemas 52

The contract defines 52 schemas that model the data the API accepts and returns. The most detailed are Project (24 properties), Company (24 properties), V1ProjectUpdateRequest (21 properties), V1CompanyCreateRequest (21 properties). Each schema is shown below with its type and property counts.

Activity Log
object
8 properties 8 required
Activity Log Actor
object
2 properties 2 required
Activity Log Filters
object
3 properties 3 required
Activity Log List
array
Activity Log Project Context
object
2 properties 2 required
Activity Log Project Filter
object
2 properties 2 required
Activity Log Target
object
4 properties 4 required
Activity Log Target Links
object
1 property 1 required
Activity Log User Filter
object
2 properties 2 required
AttachmentUploadIntentType
string
Metadata for AttachmentUploadIntent to denote which type of file the intent was created for.
Company
object
24 properties 24 required
Company Category
object
4 properties 4 required
Create Expense Account Request
object
1 property 1 required
Create Expense Transaction Request
object
8 properties 2 required
Create Income Request
object
4 properties 3 required
Expense Account
object
4 properties 4 required
Expense Category
object
4 properties 4 required
Expense Line Item
object
14 properties 14 required
Expense Line Item Delete Tombstone
object
3 properties 3 required
Expense Line Item List
object
2 properties 2 required
Expense Transaction
object
9 properties 9 required
Expense Transaction List
array
File
object
6 properties 6 required
Income
object
7 properties 7 required
Income List
object
2 properties 2 required
Project
object
24 properties 24 required
Project Photo Log
object
1 property 1 required
Project Photo Log: Date Group
object
2 properties 2 required
Project Photo Log: Photo
object
6 properties 6 required
Project Update
object
8 properties 8 required
Project Update: Photo
object
3 properties 3 required
ProjectPipelineStage
string
Project Pipeline Stage controls which phase of the Project Workflow a Project is in. Projects start as leads, then track renovation and construction, and final…
ProjectStrategy
string
Project Investment Strategy.
Receipt
object
6 properties 6 required
Update Expense Account Request
object
1 property
Update Expense Line Item Request
object
9 properties
Update Expense Transaction Request
object
3 properties 1 required
Update Income Request
object
4 properties
Upload Intent
object
5 properties 5 required
User
object
5 properties 5 required
User Account
object
2 properties 2 required
V1CompanyCategoryCreateRequest
object
1 property 1 required
V1CompanyCategoryUpdateRequest
object
1 property
V1CompanyCreateRequest
object
21 properties 1 required
V1CompanyUpdateRequest
object
21 properties
V1DocumentsReceiptCreateRequest
object
4 properties 1 required
V1DocumentsReceiptUpdateRequest
object
3 properties
V1PhotoLogUpdateRequest
object
2 properties
V1ProjectCreateRequest
object
13 properties 5 required
V1ProjectProgressUpdateRequest
object
3 properties 3 required
V1ProjectUpdateRequest
object
21 properties
Workspace
object
6 properties 6 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

fund-that-flip-flipperforce-public-api.yml Raw ↑
Where this information came from

This is an independent, third-party profile of FlipperForce Public API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.