- List - List Expense Categories
- Create - Create Expense Category
- Get - Get Expense Category
- Update - Update Expense Category
- Delete - Delete Expense Category
List Expense Categories
package main
import(
"context"
"os"
sdkgo "github.com/apideck-libraries/sdk-go"
"github.com/apideck-libraries/sdk-go/types"
"github.com/apideck-libraries/sdk-go/models/components"
"github.com/apideck-libraries/sdk-go/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := sdkgo.New(
sdkgo.WithConsumerID("test-consumer"),
sdkgo.WithAppID("dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"),
sdkgo.WithSecurity(os.Getenv("APIDECK_API_KEY")),
)
res, err := s.Accounting.ExpenseCategories.List(ctx, operations.AccountingExpenseCategoriesAllRequest{
ServiceID: sdkgo.Pointer("salesforce"),
Fields: sdkgo.Pointer("id,updated_at"),
Filter: &components.ExpenseCategoriesFilter{
UpdatedSince: types.MustNewTimeFromString("2020-09-30T07:43:32.000Z"),
Status: components.ExpenseCategoriesFilterStatusActive.ToPointer(),
},
})
if err != nil {
log.Fatal(err)
}
if res.GetExpenseCategoriesResponse != nil {
for {
// handle items
res, err = res.Next()
if err != nil {
// handle error
}
if res == nil {
break
}
}
}
}| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.AccountingExpenseCategoriesAllRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.AccountingExpenseCategoriesAllResponse, error
| Error Type | Status Code | Content Type |
|---|---|---|
| apierrors.BadRequestResponse | 400 | application/json |
| apierrors.UnauthorizedResponse | 401 | application/json |
| apierrors.PaymentRequiredResponse | 402 | application/json |
| apierrors.NotFoundResponse | 404 | application/json |
| apierrors.UnprocessableResponse | 422 | application/json |
| apierrors.APIError | 4XX, 5XX | */* |
Create Expense Category
package main
import(
"context"
"os"
sdkgo "github.com/apideck-libraries/sdk-go"
"github.com/apideck-libraries/sdk-go/models/components"
"github.com/apideck-libraries/sdk-go/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := sdkgo.New(
sdkgo.WithConsumerID("test-consumer"),
sdkgo.WithAppID("dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"),
sdkgo.WithSecurity(os.Getenv("APIDECK_API_KEY")),
)
res, err := s.Accounting.ExpenseCategories.Create(ctx, operations.AccountingExpenseCategoriesAddRequest{
ServiceID: sdkgo.Pointer("salesforce"),
ExpenseCategory: components.ExpenseCategoryInput{
DisplayID: sdkgo.Pointer("123456"),
Name: "Travel",
Code: sdkgo.Pointer("TRAVEL-001"),
Description: sdkgo.Pointer("Travel-related expenses including flights, hotels, and ground transportation."),
Status: components.ExpenseCategoryStatusActive.ToPointer(),
Account: &components.LinkedLedgerAccount{
ID: sdkgo.Pointer("123456"),
Name: sdkgo.Pointer("Bank account"),
NominalCode: sdkgo.Pointer("N091"),
Code: sdkgo.Pointer("453"),
ParentID: sdkgo.Pointer("123456"),
DisplayID: sdkgo.Pointer("123456"),
},
OffsetAccount: &components.LinkedLedgerAccount{
ID: sdkgo.Pointer("123456"),
Name: sdkgo.Pointer("Bank account"),
NominalCode: sdkgo.Pointer("N091"),
Code: sdkgo.Pointer("453"),
ParentID: sdkgo.Pointer("123456"),
DisplayID: sdkgo.Pointer("123456"),
},
TaxRate: &components.LinkedTaxRateInput{
ID: sdkgo.Pointer("123456"),
Code: sdkgo.Pointer("N-T"),
Rate: sdkgo.Pointer[float64](10.0),
},
RateRequired: sdkgo.Pointer(false),
DefaultRate: sdkgo.Pointer[float64](0.67),
RowVersion: sdkgo.Pointer("1-12345"),
PassThrough: []components.PassThroughBody{
components.PassThroughBody{
ServiceID: "<id>",
ExtendPaths: []components.ExtendPaths{
components.ExtendPaths{
Path: "$.nested.property",
Value: map[string]any{
"TaxClassificationRef": map[string]any{
"value": "EUC-99990201-V1-00020000",
},
},
},
},
},
},
},
})
if err != nil {
log.Fatal(err)
}
if res.CreateExpenseCategoryResponse != nil {
// handle response
}
}| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.AccountingExpenseCategoriesAddRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.AccountingExpenseCategoriesAddResponse, error
| Error Type | Status Code | Content Type |
|---|---|---|
| apierrors.BadRequestResponse | 400 | application/json |
| apierrors.UnauthorizedResponse | 401 | application/json |
| apierrors.PaymentRequiredResponse | 402 | application/json |
| apierrors.NotFoundResponse | 404 | application/json |
| apierrors.UnprocessableResponse | 422 | application/json |
| apierrors.APIError | 4XX, 5XX | */* |
Get Expense Category
package main
import(
"context"
"os"
sdkgo "github.com/apideck-libraries/sdk-go"
"github.com/apideck-libraries/sdk-go/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := sdkgo.New(
sdkgo.WithConsumerID("test-consumer"),
sdkgo.WithAppID("dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"),
sdkgo.WithSecurity(os.Getenv("APIDECK_API_KEY")),
)
res, err := s.Accounting.ExpenseCategories.Get(ctx, operations.AccountingExpenseCategoriesOneRequest{
ID: "<id>",
ServiceID: sdkgo.Pointer("salesforce"),
Fields: sdkgo.Pointer("id,updated_at"),
})
if err != nil {
log.Fatal(err)
}
if res.GetExpenseCategoryResponse != nil {
// handle response
}
}| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.AccountingExpenseCategoriesOneRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.AccountingExpenseCategoriesOneResponse, error
| Error Type | Status Code | Content Type |
|---|---|---|
| apierrors.BadRequestResponse | 400 | application/json |
| apierrors.UnauthorizedResponse | 401 | application/json |
| apierrors.PaymentRequiredResponse | 402 | application/json |
| apierrors.NotFoundResponse | 404 | application/json |
| apierrors.UnprocessableResponse | 422 | application/json |
| apierrors.APIError | 4XX, 5XX | */* |
Update Expense Category
package main
import(
"context"
"os"
sdkgo "github.com/apideck-libraries/sdk-go"
"github.com/apideck-libraries/sdk-go/models/components"
"github.com/apideck-libraries/sdk-go/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := sdkgo.New(
sdkgo.WithConsumerID("test-consumer"),
sdkgo.WithAppID("dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"),
sdkgo.WithSecurity(os.Getenv("APIDECK_API_KEY")),
)
res, err := s.Accounting.ExpenseCategories.Update(ctx, operations.AccountingExpenseCategoriesUpdateRequest{
ID: "<id>",
ServiceID: sdkgo.Pointer("salesforce"),
ExpenseCategory: components.ExpenseCategoryInput{
DisplayID: sdkgo.Pointer("123456"),
Name: "Travel",
Code: sdkgo.Pointer("TRAVEL-001"),
Description: sdkgo.Pointer("Travel-related expenses including flights, hotels, and ground transportation."),
Status: components.ExpenseCategoryStatusActive.ToPointer(),
Account: &components.LinkedLedgerAccount{
ID: sdkgo.Pointer("123456"),
Name: sdkgo.Pointer("Bank account"),
NominalCode: sdkgo.Pointer("N091"),
Code: sdkgo.Pointer("453"),
ParentID: sdkgo.Pointer("123456"),
DisplayID: sdkgo.Pointer("123456"),
},
OffsetAccount: &components.LinkedLedgerAccount{
ID: sdkgo.Pointer("123456"),
Name: sdkgo.Pointer("Bank account"),
NominalCode: sdkgo.Pointer("N091"),
Code: sdkgo.Pointer("453"),
ParentID: sdkgo.Pointer("123456"),
DisplayID: sdkgo.Pointer("123456"),
},
TaxRate: &components.LinkedTaxRateInput{
ID: sdkgo.Pointer("123456"),
Code: sdkgo.Pointer("N-T"),
Rate: sdkgo.Pointer[float64](10.0),
},
RateRequired: sdkgo.Pointer(false),
DefaultRate: sdkgo.Pointer[float64](0.67),
RowVersion: sdkgo.Pointer("1-12345"),
PassThrough: []components.PassThroughBody{
components.PassThroughBody{
ServiceID: "<id>",
ExtendPaths: []components.ExtendPaths{
components.ExtendPaths{
Path: "$.nested.property",
Value: map[string]any{
"TaxClassificationRef": map[string]any{
"value": "EUC-99990201-V1-00020000",
},
},
},
},
},
},
},
})
if err != nil {
log.Fatal(err)
}
if res.UpdateExpenseCategoryResponse != nil {
// handle response
}
}| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.AccountingExpenseCategoriesUpdateRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.AccountingExpenseCategoriesUpdateResponse, error
| Error Type | Status Code | Content Type |
|---|---|---|
| apierrors.BadRequestResponse | 400 | application/json |
| apierrors.UnauthorizedResponse | 401 | application/json |
| apierrors.PaymentRequiredResponse | 402 | application/json |
| apierrors.NotFoundResponse | 404 | application/json |
| apierrors.UnprocessableResponse | 422 | application/json |
| apierrors.APIError | 4XX, 5XX | */* |
Delete Expense Category
package main
import(
"context"
"os"
sdkgo "github.com/apideck-libraries/sdk-go"
"github.com/apideck-libraries/sdk-go/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := sdkgo.New(
sdkgo.WithConsumerID("test-consumer"),
sdkgo.WithAppID("dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"),
sdkgo.WithSecurity(os.Getenv("APIDECK_API_KEY")),
)
res, err := s.Accounting.ExpenseCategories.Delete(ctx, operations.AccountingExpenseCategoriesDeleteRequest{
ID: "<id>",
ServiceID: sdkgo.Pointer("salesforce"),
})
if err != nil {
log.Fatal(err)
}
if res.DeleteExpenseCategoryResponse != nil {
// handle response
}
}| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.AccountingExpenseCategoriesDeleteRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.AccountingExpenseCategoriesDeleteResponse, error
| Error Type | Status Code | Content Type |
|---|---|---|
| apierrors.BadRequestResponse | 400 | application/json |
| apierrors.UnauthorizedResponse | 401 | application/json |
| apierrors.PaymentRequiredResponse | 402 | application/json |
| apierrors.NotFoundResponse | 404 | application/json |
| apierrors.UnprocessableResponse | 422 | application/json |
| apierrors.APIError | 4XX, 5XX | */* |