Admin Arrow Billing Syncs
Operations Summary
| Method | Endpoint | Description |
|---|---|---|
| Core CRUD | ||
| GET | /api/admin/arrow/billing-syncs/ |
Billing syncs |
| GET | /api/admin/arrow/billing-syncs/{uuid}/ |
Retrieve |
| Sync Control | ||
| POST | /api/admin/arrow/billing-syncs/pause_sync/ |
Pause consumption sync operations |
| POST | /api/admin/arrow/billing-syncs/reconcile/ |
Trigger reconciliation for a specific period |
| POST | /api/admin/arrow/billing-syncs/resume_sync/ |
Resume consumption sync operations |
| POST | /api/admin/arrow/billing-syncs/trigger_consumption_sync/ |
Trigger consumption sync for a specific period |
| POST | /api/admin/arrow/billing-syncs/trigger_reconciliation/ |
Trigger reconciliation (check billing export and apply adjustments) |
| POST | /api/admin/arrow/billing-syncs/trigger_sync/ |
Trigger billing sync for a specific period |
| Data Retrieval | ||
| GET | /api/admin/arrow/billing-syncs/consumption_statistics/ |
Get consumption statistics |
| GET | /api/admin/arrow/billing-syncs/consumption_status/ |
Get current consumption sync status |
| GET | /api/admin/arrow/billing-syncs/pending_records/ |
List pending consumption records (not yet finalized) |
| POST | /api/admin/arrow/billing-syncs/fetch_billing_export/ |
Fetch raw billing export from Arrow API |
| POST | /api/admin/arrow/billing-syncs/fetch_consumption/ |
Fetch raw consumption data from Arrow API |
| POST | /api/admin/arrow/billing-syncs/fetch_license_info/ |
Fetch license details from Arrow API |
| POST | /api/admin/arrow/billing-syncs/sync_resource_historical_consumption/ |
Sync historical consumption for a specific resource from Arrow |
| POST | /api/admin/arrow/billing-syncs/sync_resources/ |
Sync resources |
| Cleanup | ||
| POST | /api/admin/arrow/billing-syncs/cleanup_consumption/ |
Delete consumption records with optional dry-run preview |
Core CRUD
Billing syncs
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 | |
- API Source:
admin_arrow_billing_syncs_list
1 2 3 4 5 6 7 8 9 10 | |
| Name | Type | Description |
|---|---|---|
arrow_state |
string | |
customer_mapping |
string (uri) | |
customer_mapping_uuid |
string (uuid) | |
page |
integer | A page number within the paginated result set. |
page_size |
integer | Number of results to return per page. |
report_period |
string | |
report_period_from |
string | |
report_period_to |
string | |
settings_uuid |
string (uuid) | |
state |
integer | |
statement_reference |
string |
200 -
The response body is an array of objects, where each object has the following structure:
| Field | Type | Description |
|---|---|---|
uuid |
string (uuid) | |
url |
string (uri) | |
customer_mapping |
string (uri) | |
customer_mapping_uuid |
string (uuid) | |
arrow_reference |
string | Arrow customer ID (e.g., 'XSP661245') |
waldur_customer_name |
string | |
statement_reference |
string | Arrow statement ID |
report_period |
string | Report period in YYYY-MM format |
arrow_state |
string | Arrow billing state (pending/validated) |
state |
any | Waldur sync state |
state_display |
string | |
buy_total |
string (decimal) | Total buy amount |
sell_total |
string (decimal) | Total sell amount |
currency |
string | Currency code |
invoice_uuid |
string (uuid) | |
error_message |
string | Error message if sync failed |
synced_at |
string (date-time) | When billing was last synced |
validated_at |
string (date-time) | When Arrow validated the billing |
reconciled_at |
string (date-time) | When reconciliation was applied |
items |
array of objects | |
items.uuid |
string (uuid) | |
items.arrow_line_reference |
string | Arrow line ID |
items.invoice_item_uuid |
string (uuid) | |
items.original_price |
string (decimal) | Original price for reconciliation tracking |
items.compensation_item_uuid |
string (uuid) | |
items.vendor_name |
string | Vendor name (e.g., Microsoft) |
items.subscription_reference |
string | Arrow subscription reference |
items.classification |
string | Classification (IAAS/SAAS) |
items.description |
string | Line item description |
items.quantity |
string (decimal) | Quantity |
items.created |
string (date-time) | |
created |
string (date-time) | |
modified |
string (date-time) |
Retrieve
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
- API Source:
admin_arrow_billing_syncs_retrieve
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Name | Type | Required |
|---|---|---|
uuid |
string (uuid) | ✓ |
200 -
| Field | Type | Description |
|---|---|---|
uuid |
string (uuid) | |
url |
string (uri) | |
customer_mapping |
string (uri) | |
customer_mapping_uuid |
string (uuid) | |
arrow_reference |
string | Arrow customer ID (e.g., 'XSP661245') |
waldur_customer_name |
string | |
statement_reference |
string | Arrow statement ID |
report_period |
string | Report period in YYYY-MM format |
arrow_state |
string | Arrow billing state (pending/validated) |
state |
any | Waldur sync state |
state_display |
string | |
buy_total |
string (decimal) | Total buy amount |
sell_total |
string (decimal) | Total sell amount |
currency |
string | Currency code |
invoice_uuid |
string (uuid) | |
error_message |
string | Error message if sync failed |
synced_at |
string (date-time) | When billing was last synced |
validated_at |
string (date-time) | When Arrow validated the billing |
reconciled_at |
string (date-time) | When reconciliation was applied |
items |
array of objects | |
items.uuid |
string (uuid) | |
items.arrow_line_reference |
string | Arrow line ID |
items.invoice_item_uuid |
string (uuid) | |
items.original_price |
string (decimal) | Original price for reconciliation tracking |
items.compensation_item_uuid |
string (uuid) | |
items.vendor_name |
string | Vendor name (e.g., Microsoft) |
items.subscription_reference |
string | Arrow subscription reference |
items.classification |
string | Classification (IAAS/SAAS) |
items.description |
string | Line item description |
items.quantity |
string (decimal) | Quantity |
items.created |
string (date-time) | |
created |
string (date-time) | |
modified |
string (date-time) |
Sync Control
Pause consumption sync operations
Pause consumption sync operations.
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
- Model Source:
SyncPauseRequestRequest - API Source:
admin_arrow_billing_syncs_pause_sync
1 2 3 4 5 6 7 8 9 10 | |
| Field | Type | Required |
|---|---|---|
settings_uuid |
string (uuid) | |
pause_global |
boolean |
200 -
| Field | Type | Description |
|---|---|---|
paused |
array of strings | List of paused items |
resumed |
array of strings | List of resumed items |
Trigger reconciliation for a specific period
Trigger reconciliation for a specific period.
1 2 3 4 5 6 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
- Model Source:
ReconcileRequestRequest - API Source:
admin_arrow_billing_syncs_reconcile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
| Field | Type | Required | Description |
|---|---|---|---|
year |
integer | ✓ | |
month |
integer | ✓ | |
settings_uuid |
string (uuid) | ||
force |
boolean | Force reconciliation even if not validated Constraints: default: False |
202 - No response body
Resume consumption sync operations
Resume consumption sync operations.
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
- Model Source:
SyncPauseRequestRequest - API Source:
admin_arrow_billing_syncs_resume_sync
1 2 3 4 5 6 7 8 9 10 | |
| Field | Type | Required |
|---|---|---|
settings_uuid |
string (uuid) | |
pause_global |
boolean |
200 -
| Field | Type | Description |
|---|---|---|
paused |
array of strings | List of paused items |
resumed |
array of strings | List of resumed items |
Trigger consumption sync for a specific period
Trigger consumption sync for a specific period.
1 2 3 4 5 6 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
- Model Source:
TriggerConsumptionSyncRequestRequest - API Source:
admin_arrow_billing_syncs_trigger_consumption_sync
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
| Field | Type | Required | Description |
|---|---|---|---|
year |
integer | ✓ | |
month |
integer | ✓ | |
settings_uuid |
string (uuid) | ||
resource_uuid |
string (uuid) | Sync specific resource only |
202 - No response body
Trigger reconciliation (check billing export and apply adjustments)
Trigger reconciliation (check billing export and apply adjustments).
1 2 3 4 5 6 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
- Model Source:
ReconcileRequestRequest - API Source:
admin_arrow_billing_syncs_trigger_reconciliation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
| Field | Type | Required | Description |
|---|---|---|---|
year |
integer | ✓ | |
month |
integer | ✓ | |
settings_uuid |
string (uuid) | ||
force |
boolean | Force reconciliation even if not validated Constraints: default: False |
202 - No response body
Trigger billing sync for a specific period
Trigger billing sync for a specific period.
1 2 3 4 5 6 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
- Model Source:
TriggerSyncRequestRequest - API Source:
admin_arrow_billing_syncs_trigger_sync
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
| Field | Type | Required | Description |
|---|---|---|---|
year |
integer | ✓ | |
month |
integer | ✓ | |
settings_uuid |
string (uuid) | ||
resource_uuid |
string (uuid) | If set, only sync billing lines for this resource. |
202 - No response body
Data Retrieval
Get consumption statistics
Get consumption statistics.
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 | |
1 2 3 4 5 6 7 8 9 10 | |
200 -
| Field | Type |
|---|---|
total_records |
integer |
pending_records |
integer |
finalized_records |
integer |
reconciled_records |
integer |
total_consumed_sell |
string (decimal) |
total_adjustments |
string (decimal) |
period_breakdown |
array of objects |
period_breakdown.period |
string |
period_breakdown.count |
integer |
period_breakdown.consumed_sell |
string (decimal) |
period_breakdown.finalized_count |
integer |
period_breakdown.reconciled_count |
integer |
Get current consumption sync status
Get current consumption sync status.
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 | |
1 2 3 4 5 6 7 8 9 10 | |
200 -
| Field | Type |
|---|---|
global_sync_enabled |
boolean |
settings_sync_enabled |
boolean |
settings_uuid |
string (uuid) |
last_sync_run |
string (date-time) |
List pending consumption records (not yet finalized)
List pending consumption records (not yet finalized).
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 | |
- API Source:
admin_arrow_billing_syncs_pending_records_list
1 2 3 4 5 6 7 8 9 10 | |
| Name | Type | Description |
|---|---|---|
arrow_state |
string | |
customer_mapping |
string (uri) | |
customer_mapping_uuid |
string (uuid) | |
page |
integer | A page number within the paginated result set. |
page_size |
integer | Number of results to return per page. |
report_period |
string | |
report_period_from |
string | |
report_period_to |
string | |
settings_uuid |
string (uuid) | |
state |
integer | |
statement_reference |
string |
200 -
The response body is an array of objects, where each object has the following structure:
| Field | Type |
|---|---|
uuid |
string (uuid) |
resource_uuid |
string (uuid) |
resource_name |
string |
license_reference |
string |
billing_period |
string (date) |
consumed_sell |
string (decimal) |
last_sync_at |
string (date-time) |
Fetch raw billing export from Arrow API
Fetch raw billing export from Arrow API.
1 2 3 4 5 6 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
- Model Source:
FetchBillingExportRequestRequest - API Source:
admin_arrow_billing_syncs_fetch_billing_export
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
| Field | Type | Required | Description |
|---|---|---|---|
period_from |
string | ✓ | YYYY-MM format |
period_to |
string | ✓ | YYYY-MM format |
classification |
string |
200 -
| Field | Type |
|---|---|
period_from |
string |
period_to |
string |
classification |
string |
row_count |
integer |
data |
array of objects |
Fetch raw consumption data from Arrow API
Fetch raw consumption data from Arrow API.
1 2 3 4 5 6 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
- Model Source:
FetchConsumptionRequestRequest - API Source:
admin_arrow_billing_syncs_fetch_consumption
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
| Field | Type | Required | Description |
|---|---|---|---|
license_reference |
string | ✓ | |
period |
string | ✓ | YYYY-MM format |
200 -
| Field | Type |
|---|---|
license_reference |
string |
period |
string |
row_count |
integer |
data |
array of objects |
Fetch license details from Arrow API
Fetch license details from Arrow API.
1 2 3 4 5 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
- Model Source:
FetchLicenseInfoRequestRequest - API Source:
admin_arrow_billing_syncs_fetch_license_info
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Field | Type | Required |
|---|---|---|
license_reference |
string | ✓ |
200 -
| Field | Type | Description |
|---|---|---|
data |
object (free-form) | Raw license data from Arrow API |
Sync historical consumption for a specific resource from Arrow
Sync historical consumption for a specific resource from Arrow.
1 2 3 4 5 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
| Field | Type | Required | Description |
|---|---|---|---|
resource_uuid |
string (uuid) | ✓ | UUID of the resource to sync |
period_from |
string | Start period in YYYY-MM format. Defaults to 12 months ago. | |
period_to |
string | End period in YYYY-MM format. Defaults to current month. | |
force |
boolean | If True, sync even for finalized periods. Constraints: default: False |
|
dry_run |
boolean | If True, preview consumption data without saving. Constraints: default: False |
200 -
| Field | Type |
|---|---|
resource_uuid |
string (uuid) |
resource_name |
string |
periods_synced |
integer |
periods_skipped |
integer |
periods_no_data |
integer |
errors |
array of objects |
dry_run |
boolean |
preview_periods |
array of objects |
Sync resources
Sync Arrow IAAS subscriptions to Waldur Resources. Matches subscriptions by Vendor Subscription ID to resource backend_id. Updates resource report and current_usages fields. With force_import=True, auto-creates Customers and Projects from Arrow data.
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
- Model Source:
SyncResourcesRequestRequest - API Source:
admin_arrow_billing_syncs_sync_resources
1 2 3 4 5 6 7 8 9 10 | |
| Field | Type | Required | Description |
|---|---|---|---|
period_from |
string | Start period in YYYY-MM format (default: 6 months ago, Arrow max) | |
period_to |
string | End period in YYYY-MM format (default: current month) | |
settings_uuid |
string (uuid) | ||
offering_uuid |
string (uuid) | Offering UUID for creating new resources | |
project_uuid |
string (uuid) | Project UUID for creating new resources (ignored if force_import=True) | |
force_import |
boolean | If True, auto-create Waldur Customers and Projects from Arrow data. Each Arrow customer gets a Waldur Customer with an 'Arrow Azure Subscriptions' project. Constraints: default: False |
200 -
| Field | Type |
|---|---|
synced |
integer |
created |
integer |
updated |
integer |
orders_created |
integer |
customers_created |
integer |
projects_created |
integer |
mappings_created |
integer |
invoices_created |
integer |
invoice_items_created |
integer |
errors |
array of objects |
Cleanup
Delete consumption records with optional dry-run preview
Delete consumption records with optional dry-run preview.
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
- Model Source:
CleanupConsumptionRequestRequest - API Source:
admin_arrow_billing_syncs_cleanup_consumption
1 2 3 4 5 6 7 8 9 10 | |
| Field | Type | Required | Description |
|---|---|---|---|
period_from |
string | YYYY-MM format | |
period_to |
string | YYYY-MM format | |
resource_uuid |
string (uuid) | ||
only_finalized |
boolean | Constraints: default: False |
|
only_unfinalized |
boolean | Constraints: default: False |
|
dry_run |
boolean | Constraints: default: True |
200 -
| Field | Type |
|---|---|
dry_run |
boolean |
records_to_delete |
integer |
records_deleted |
integer |
compensation_items_affected |
integer |
invoice_items_affected |
integer |