//native
type Codat = {
encodedKey: string
}
/**
* List direct costs
* The *List direct costs* endpoint returns a list of [direct costs](https://docs.codat.io/lending-api#/schemas/DirectCost) for a given company's connection.
[Direct costs](https://docs.codat.io/lending-api#/schemas/DirectCost) are business expenses that don't impact Accounts Payable.
Before using this endpoint, you must have [retrieved data for the company](https://docs.codat.io/lending-api#/operations/refresh-company-data).
*/
export async function main(
auth: Codat,
companyId: string,
connectionId: string,
page: string | undefined,
pageSize: string | undefined,
query: string | undefined,
orderBy: string | undefined
) {
const url = new URL(
`https://api.codat.io/companies/${companyId}/connections/${connectionId}/data/directCosts`
)
for (const [k, v] of [
['page', page],
['pageSize', pageSize],
['query', query],
['orderBy', orderBy]
]) {
if (v !== undefined && v !== '' && k !== undefined) {
url.searchParams.append(k, v)
}
}
const response = await fetch(url, {
method: 'GET',
headers: {
Authorization: `Basic ${auth.encodedKey}`
},
body: undefined
})
if (!response.ok) {
const text = await response.text()
throw new Error(`${response.status} ${text}`)
}
return await response.json()
}
Submitted by hugo697 235 days ago