> For the complete documentation index, see [llms.txt](https://docs.360dialog.com/partner/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.360dialog.com/partner/partner-api/api-reference/currency-migration.md).

# Currency Migration

## Get billing currency migration status

> Returns the most recent currency migration for the given WABA, or 404 if none exists.\
> \*\*Rate limits:\*\* This endpoint is subject to rate limits. A maximum of \*\*5 requests per minute per WABA\*\* is allowed. Requests exceeding this limit will receive a \`429 Too Many Requests\` response.

```json
{"openapi":"3.1.0","info":{"title":"Partners V2 API","version":"2.0.0"},"tags":[{"name":"Currency Migration"}],"servers":[{"description":"Production Server","url":"https://hub.360dialog.io"}],"security":[{"PartnerApiKeyV2":[]},{"Bearer":[]}],"components":{"securitySchemes":{"PartnerApiKeyV2":{"type":"apiKey","name":"X-API-Key","in":"header","description":"API Key for V2 authentication. Send your Partner API key in the X-API-Key header. Preferred authentication method."},"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer token authentication. Token obtained via /api/v2/token endpoint."}},"schemas":{"WabaCurrencyMigrationOut":{"type":"object","properties":{"id":{"type":"string","description":"Migration ID."},"source_waba_id":{"type":"string","description":"Source WABA ID."},"partner_id":{"type":"string","description":"Partner ID."},"client_id":{"type":"string","description":"Client ID."},"meta_migration_id":{"type":"string","description":"Meta's migration ID.","nullable":true},"target_currency":{"type":"string","description":"Target billing currency."},"status":{"type":"string","description":"Internal migration status."},"meta_status":{"type":"string","description":"Status reported by Meta.","nullable":true},"destination_waba_id":{"type":"string","description":"Destination WABA internal ID once created.","nullable":true},"destination_external_id":{"type":"string","description":"Destination WABA external ID on Meta.","nullable":true},"templates":{"type":"object","description":"Template comparison between source and destination WABA. Present only when status is READY_TO_COMPLETE.","additionalProperties":{},"nullable":true},"created_at":{"type":"string","description":"Creation timestamp."},"modified_at":{"type":"string","description":"Last modification timestamp."},"created_by":{"type":"object","description":"Actor who created the migration.","additionalProperties":{}},"modified_by":{"type":"object","description":"Actor who last modified the migration.","additionalProperties":{}}},"additionalProperties":false},"DefaultValidationError":{"type":"object","properties":{"meta":{"allOf":[{"$ref":"#/components/schemas/MetaSchemaErrorWithDetails"}]}},"required":["meta"],"additionalProperties":false},"MetaSchemaErrorWithDetails":{"type":"object","properties":{"developer_message":{"type":"string"},"http_code":{"type":"integer"},"success":{"type":"boolean"},"360dialog_trace_id":{"type":"string","description":"Trace ID for debugging purposes"},"details":{"type":"object","description":"Additional error data","additionalProperties":{}}},"required":["developer_message","http_code","success"],"additionalProperties":false},"DefaultHttpError":{"type":"object","properties":{"meta":{"allOf":[{"$ref":"#/components/schemas/_MetaSchemaError"}]}},"required":["meta"],"additionalProperties":false},"_MetaSchemaError":{"type":"object","properties":{"developer_message":{"type":"string"},"http_code":{"type":"integer"},"success":{"type":"boolean"},"360dialog_trace_id":{"type":"string","description":"Trace ID for debugging purposes"}},"required":["developer_message","http_code","success"],"additionalProperties":false}}},"paths":{"/api/v2/partners/{partner_id}/waba_accounts/{waba_account_id}/currency_migration":{"get":{"parameters":[{"in":"path","name":"partner_id","description":"The ID of the partner.","schema":{"type":"string"},"required":true},{"in":"path","name":"waba_account_id","description":"Internal 360dialog ID of the waba account. This ID always have postfix WA.","schema":{"type":"string"},"required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WabaCurrencyMigrationOut"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultValidationError"}}},"description":"Wrong payload"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultHttpError"}}},"description":"Not found"}},"tags":["Currency Migration"],"summary":"Get billing currency migration status","description":"Returns the most recent currency migration for the given WABA, or 404 if none exists.\n**Rate limits:** This endpoint is subject to rate limits. A maximum of **5 requests per minute per WABA** is allowed. Requests exceeding this limit will receive a `429 Too Many Requests` response.","operationId":"get_currency_migration_api_get_currency_migration_status"}}}}
```

## Initiate billing currency migration

> Initiates a billing currency migration for the given WABA.\
> The migration is processed asynchronously; poll the status endpoint to track progress.\
> \*\*Rate limits:\*\* This endpoint is subject to rate limits. A maximum of \*\*30 requests per hour per partner\*\* is allowed. Requests exceeding this limit will receive a \`429 Too Many Requests\` response.

```json
{"openapi":"3.1.0","info":{"title":"Partners V2 API","version":"2.0.0"},"tags":[{"name":"Currency Migration"}],"servers":[{"description":"Production Server","url":"https://hub.360dialog.io"}],"security":[{"PartnerApiKeyV2":[]},{"Bearer":[]}],"components":{"securitySchemes":{"PartnerApiKeyV2":{"type":"apiKey","name":"X-API-Key","in":"header","description":"API Key for V2 authentication. Send your Partner API key in the X-API-Key header. Preferred authentication method."},"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer token authentication. Token obtained via /api/v2/token endpoint."}},"schemas":{"WabaCurrencyMigrationOut":{"type":"object","properties":{"id":{"type":"string","description":"Migration ID."},"source_waba_id":{"type":"string","description":"Source WABA ID."},"partner_id":{"type":"string","description":"Partner ID."},"client_id":{"type":"string","description":"Client ID."},"meta_migration_id":{"type":"string","description":"Meta's migration ID.","nullable":true},"target_currency":{"type":"string","description":"Target billing currency."},"status":{"type":"string","description":"Internal migration status."},"meta_status":{"type":"string","description":"Status reported by Meta.","nullable":true},"destination_waba_id":{"type":"string","description":"Destination WABA internal ID once created.","nullable":true},"destination_external_id":{"type":"string","description":"Destination WABA external ID on Meta.","nullable":true},"templates":{"type":"object","description":"Template comparison between source and destination WABA. Present only when status is READY_TO_COMPLETE.","additionalProperties":{},"nullable":true},"created_at":{"type":"string","description":"Creation timestamp."},"modified_at":{"type":"string","description":"Last modification timestamp."},"created_by":{"type":"object","description":"Actor who created the migration.","additionalProperties":{}},"modified_by":{"type":"object","description":"Actor who last modified the migration.","additionalProperties":{}}},"additionalProperties":false},"DefaultValidationError":{"type":"object","properties":{"meta":{"allOf":[{"$ref":"#/components/schemas/MetaSchemaErrorWithDetails"}]}},"required":["meta"],"additionalProperties":false},"MetaSchemaErrorWithDetails":{"type":"object","properties":{"developer_message":{"type":"string"},"http_code":{"type":"integer"},"success":{"type":"boolean"},"360dialog_trace_id":{"type":"string","description":"Trace ID for debugging purposes"},"details":{"type":"object","description":"Additional error data","additionalProperties":{}}},"required":["developer_message","http_code","success"],"additionalProperties":false},"DefaultHttpError":{"type":"object","properties":{"meta":{"allOf":[{"$ref":"#/components/schemas/_MetaSchemaError"}]}},"required":["meta"],"additionalProperties":false},"_MetaSchemaError":{"type":"object","properties":{"developer_message":{"type":"string"},"http_code":{"type":"integer"},"success":{"type":"boolean"},"360dialog_trace_id":{"type":"string","description":"Trace ID for debugging purposes"}},"required":["developer_message","http_code","success"],"additionalProperties":false},"InitiateCurrencyMigrationIn":{"type":"object","properties":{"target_currency":{"type":"string","description":"ISO 4217 currency code to migrate billing to. Supported: eur, usd, inr, brl."}},"required":["target_currency"],"additionalProperties":false}}},"paths":{"/api/v2/partners/{partner_id}/waba_accounts/{waba_account_id}/currency_migration":{"post":{"parameters":[{"in":"path","name":"partner_id","description":"The ID of the partner.","schema":{"type":"string"},"required":true},{"in":"path","name":"waba_account_id","description":"Internal 360dialog ID of the waba account. This ID always have postfix WA.","schema":{"type":"string"},"required":true}],"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WabaCurrencyMigrationOut"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultValidationError"}}},"description":"Wrong payload"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultHttpError"}}},"description":"Not found"}},"tags":["Currency Migration"],"summary":"Initiate billing currency migration","description":"Initiates a billing currency migration for the given WABA.\nThe migration is processed asynchronously; poll the status endpoint to track progress.\n**Rate limits:** This endpoint is subject to rate limits. A maximum of **30 requests per hour per partner** is allowed. Requests exceeding this limit will receive a `429 Too Many Requests` response.","operationId":"post_currency_migration_api_initiate_currency_migration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateCurrencyMigrationIn"}}}}}}}}
```

## Finalize billing currency migration

> Triggers the finalization step once the migration status is READY\_TO\_COMPLETE.\
> As a Tech Provider, verify that your app is subscribed to the destination WABA.

```json
{"openapi":"3.1.0","info":{"title":"Partners V2 API","version":"2.0.0"},"tags":[{"name":"Currency Migration"}],"servers":[{"description":"Production Server","url":"https://hub.360dialog.io"}],"security":[{"PartnerApiKeyV2":[]},{"Bearer":[]}],"components":{"securitySchemes":{"PartnerApiKeyV2":{"type":"apiKey","name":"X-API-Key","in":"header","description":"API Key for V2 authentication. Send your Partner API key in the X-API-Key header. Preferred authentication method."},"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer token authentication. Token obtained via /api/v2/token endpoint."}},"schemas":{"WabaCurrencyMigrationOut":{"type":"object","properties":{"id":{"type":"string","description":"Migration ID."},"source_waba_id":{"type":"string","description":"Source WABA ID."},"partner_id":{"type":"string","description":"Partner ID."},"client_id":{"type":"string","description":"Client ID."},"meta_migration_id":{"type":"string","description":"Meta's migration ID.","nullable":true},"target_currency":{"type":"string","description":"Target billing currency."},"status":{"type":"string","description":"Internal migration status."},"meta_status":{"type":"string","description":"Status reported by Meta.","nullable":true},"destination_waba_id":{"type":"string","description":"Destination WABA internal ID once created.","nullable":true},"destination_external_id":{"type":"string","description":"Destination WABA external ID on Meta.","nullable":true},"templates":{"type":"object","description":"Template comparison between source and destination WABA. Present only when status is READY_TO_COMPLETE.","additionalProperties":{},"nullable":true},"created_at":{"type":"string","description":"Creation timestamp."},"modified_at":{"type":"string","description":"Last modification timestamp."},"created_by":{"type":"object","description":"Actor who created the migration.","additionalProperties":{}},"modified_by":{"type":"object","description":"Actor who last modified the migration.","additionalProperties":{}}},"additionalProperties":false},"DefaultValidationError":{"type":"object","properties":{"meta":{"allOf":[{"$ref":"#/components/schemas/MetaSchemaErrorWithDetails"}]}},"required":["meta"],"additionalProperties":false},"MetaSchemaErrorWithDetails":{"type":"object","properties":{"developer_message":{"type":"string"},"http_code":{"type":"integer"},"success":{"type":"boolean"},"360dialog_trace_id":{"type":"string","description":"Trace ID for debugging purposes"},"details":{"type":"object","description":"Additional error data","additionalProperties":{}}},"required":["developer_message","http_code","success"],"additionalProperties":false},"DefaultHttpError":{"type":"object","properties":{"meta":{"allOf":[{"$ref":"#/components/schemas/_MetaSchemaError"}]}},"required":["meta"],"additionalProperties":false},"_MetaSchemaError":{"type":"object","properties":{"developer_message":{"type":"string"},"http_code":{"type":"integer"},"success":{"type":"boolean"},"360dialog_trace_id":{"type":"string","description":"Trace ID for debugging purposes"}},"required":["developer_message","http_code","success"],"additionalProperties":false}}},"paths":{"/api/v2/partners/{partner_id}/waba_accounts/{waba_account_id}/currency_migration/finalize":{"post":{"parameters":[{"in":"path","name":"partner_id","description":"The ID of the partner.","schema":{"type":"string"},"required":true},{"in":"path","name":"waba_account_id","description":"Internal 360dialog ID of the waba account. This ID always have postfix WA.","schema":{"type":"string"},"required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WabaCurrencyMigrationOut"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultValidationError"}}},"description":"Wrong payload"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultHttpError"}}},"description":"Not found"}},"tags":["Currency Migration"],"summary":"Finalize billing currency migration","description":"Triggers the finalization step once the migration status is READY_TO_COMPLETE.\nAs a Tech Provider, verify that your app is subscribed to the destination WABA.","operationId":"post_currency_migration_api_finalize_currency_migration"}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.360dialog.com/partner/partner-api/api-reference/currency-migration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
