ClientCasa
API

Transactions

Track expenses and charges (recurring or one-time).

GET
/api/v1/transactions
x-api-key<token>

In: header

Query Parameters

page?integer
Default1
Range1 <= value
pageSize?integer
Default25
Range1 <= value <= 100
direction?string
Value in"cost" | "revenue"
status?string
Value in"active" | "paused" | "archived"
frequency?string
Value in"one-time" | "monthly" | "quarterly" | "annual"

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://www.clientcasa.com/api/v1/transactions"
{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "string",
      "catalogItemId": "550e8400-e29b-41d4-a716-446655440000",
      "taxCategoryId": "550e8400-e29b-41d4-a716-446655440000",
      "amount": 0,
      "frequency": "one-time",
      "direction": "cost",
      "mode": "each",
      "splitEvenly": true,
      "assignments": [
        {
          "projectId": "550e8400-e29b-41d4-a716-446655440000",
          "clientId": "550e8400-e29b-41d4-a716-446655440000",
          "amount": 0,
          "percentage": 0,
          "fixedAmount": 0,
          "startDate": "2019-08-24",
          "endDate": "2019-08-24"
        }
      ],
      "passThrough": true,
      "markupPercent": 0,
      "billedAmount": 0,
      "startDate": "2019-08-24",
      "endDate": "2019-08-24",
      "notes": "string",
      "vendorName": "string",
      "vendorEmail": "user@example.com",
      "vendorTaxId": "string",
      "receiptVerified": true,
      "status": "active",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 1,
    "total": 0,
    "totalPages": 0,
    "hasMore": true
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
POST
/api/v1/transactions
x-api-key<token>

In: header

Header Parameters

Idempotency-Key?string

Optional unique key that makes this create safely retryable. Replaying the same key returns the original response instead of creating a duplicate; reusing a key with a different request body returns 409.

Lengthlength <= 255

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://www.clientcasa.com/api/v1/transactions" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "amount": 0,    "direction": "cost"  }'
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "string",
  "catalogItemId": "550e8400-e29b-41d4-a716-446655440000",
  "taxCategoryId": "550e8400-e29b-41d4-a716-446655440000",
  "amount": 0,
  "frequency": "one-time",
  "direction": "cost",
  "mode": "each",
  "splitEvenly": true,
  "assignments": [
    {
      "projectId": "550e8400-e29b-41d4-a716-446655440000",
      "clientId": "550e8400-e29b-41d4-a716-446655440000",
      "amount": 0,
      "percentage": 0,
      "fixedAmount": 0,
      "startDate": "2019-08-24",
      "endDate": "2019-08-24"
    }
  ],
  "passThrough": true,
  "markupPercent": 0,
  "billedAmount": 0,
  "startDate": "2019-08-24",
  "endDate": "2019-08-24",
  "notes": "string",
  "vendorName": "string",
  "vendorEmail": "user@example.com",
  "vendorTaxId": "string",
  "receiptVerified": true,
  "status": "active",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
GET
/api/v1/transactions/{id}
x-api-key<token>

In: header

Path Parameters

id*string

UUID v4

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://www.clientcasa.com/api/v1/transactions/550e8400-e29b-41d4-a716-446655440000"
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "string",
  "catalogItemId": "550e8400-e29b-41d4-a716-446655440000",
  "taxCategoryId": "550e8400-e29b-41d4-a716-446655440000",
  "amount": 0,
  "frequency": "one-time",
  "direction": "cost",
  "mode": "each",
  "splitEvenly": true,
  "assignments": [
    {
      "projectId": "550e8400-e29b-41d4-a716-446655440000",
      "clientId": "550e8400-e29b-41d4-a716-446655440000",
      "amount": 0,
      "percentage": 0,
      "fixedAmount": 0,
      "startDate": "2019-08-24",
      "endDate": "2019-08-24"
    }
  ],
  "passThrough": true,
  "markupPercent": 0,
  "billedAmount": 0,
  "startDate": "2019-08-24",
  "endDate": "2019-08-24",
  "notes": "string",
  "vendorName": "string",
  "vendorEmail": "user@example.com",
  "vendorTaxId": "string",
  "receiptVerified": true,
  "status": "active",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
PATCH
/api/v1/transactions/{id}
x-api-key<token>

In: header

Path Parameters

id*string

UUID v4

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://www.clientcasa.com/api/v1/transactions/550e8400-e29b-41d4-a716-446655440000" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "string",
  "catalogItemId": "550e8400-e29b-41d4-a716-446655440000",
  "taxCategoryId": "550e8400-e29b-41d4-a716-446655440000",
  "amount": 0,
  "frequency": "one-time",
  "direction": "cost",
  "mode": "each",
  "splitEvenly": true,
  "assignments": [
    {
      "projectId": "550e8400-e29b-41d4-a716-446655440000",
      "clientId": "550e8400-e29b-41d4-a716-446655440000",
      "amount": 0,
      "percentage": 0,
      "fixedAmount": 0,
      "startDate": "2019-08-24",
      "endDate": "2019-08-24"
    }
  ],
  "passThrough": true,
  "markupPercent": 0,
  "billedAmount": 0,
  "startDate": "2019-08-24",
  "endDate": "2019-08-24",
  "notes": "string",
  "vendorName": "string",
  "vendorEmail": "user@example.com",
  "vendorTaxId": "string",
  "receiptVerified": true,
  "status": "active",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
DELETE
/api/v1/transactions/{id}
x-api-key<token>

In: header

Path Parameters

id*string

UUID v4

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X DELETE "https://www.clientcasa.com/api/v1/transactions/550e8400-e29b-41d4-a716-446655440000"
Empty
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}