# Create a new configuration Creates columns and delivery notifiers for an Other Operations report. In case of success, the request returns a response with status 201. **POST** `/v1/reporting/operations/{reportId}/config` ## Request parameters ### Path - `reportId` (string, required) Other Operations report type. - `structure` (object, optional) Report column structure. - `structure.name` (string, optional) Structure name. - `structure.columns` (array, optional) Columns to include. Each report accepts specific fields; see [Report fields](/developers/en/docs/reports/activities-reports/report-fields) to identify the fields available for the report you want to generate. - `structure.columns[].key` (string, optional) Name of the report column you want to include. - `structure.file_format` (object, optional) This object is optional and defines the output-file settings, including separators, date format, name, and prefix. - `structure.file_format.column_separator` (string, optional) Character used to separate columns in the CSV file. - `structure.file_format.decimal_separator` (string, optional) Character used to separate the integer and fractional parts of decimal values in the report file. - `structure.file_format.date_format` (string, optional) Format used to represent dates in the report file. For example, `yyyy-MM-dd`. - `structure.file_format.name` (string, optional) Output-file name. - `structure.file_format.prefix` (string, optional) Prefix used to compose the report file name once it is generated and ready for download. - `structure.display_timezone` (string, optional) Timezone used to display dates and times in the report. It does not change the `gte` and `lte` values sent in `filters.creation_date.range`. - `notifiers` (array, optional) List of notifiers used to communicate that the report is available or to deliver the generated file. Include at least one notifier and define its type and the corresponding connection data. - `notifiers[].type` (string, optional) Delivery notifier type. The possible values are: Possible enum values: - `webhook` Sends a notification to the configured webhook URL. - `ftp` Delivers the report to an FTP or SFTP server using password authentication. - `ftp_pkey` Delivers the report to an SFTP server using SSH private-key authentication. - `internal_sftp` Delivers the report through Mercado Pago's internal SFTP channel. - `notifiers[].data` (object, optional) Delivery connection data. - `notifiers[].data.url` (string, optional) URL that receives the notifications. Required when the notifier type is `webhook`. - `notifiers[].data.key` (string, optional) Secret used to validate webhook signatures. Required when the notifier type is `webhook`. - `notifiers[].data.server` (string, optional) Public URL or IP address of the FTP or SFTP server. Required when the notifier type is `ftp` or `ftp_pkey`. - `notifiers[].data.port` (integer, optional) Port used to establish the connection to the FTP or SFTP server. Required when the notifier type is `ftp` or `ftp_pkey`. - `notifiers[].data.username` (string, optional) Username used to authenticate on the FTP or SFTP server. Required when the notifier type is `ftp` or `ftp_pkey`. - `notifiers[].data.password` (string, optional) Password used to authenticate on the FTP or SFTP server. Required when the notifier type is `ftp`. - `notifiers[].data.private_key` (string, optional) SSH private key used to authenticate on the SFTP server. Required when the notifier type is `ftp_pkey`. - `notifiers[].data.remote_dir` (string, optional) Folder on the FTP or SFTP server where the reports will be saved. Required when the notifier type is `ftp` or `ftp_pkey`. - `notifiers[].description` (string, optional) This field is optional and can be used to identify the notifier. ## Response parameters - `structure` (object, optional) Report structure created from the configuration request. - `structure.id` (string, optional) Unique identifier (UUID) of the report structure. - `structure.name` (string, optional) Name assigned to the report structure. - `structure.columns` (array, optional) Columns included in the report structure. - `structure.columns[].key` (string, optional) Name of the report column included in the structure. - `structure.notifiers` (array, optional) Unique identifiers (UUIDs) of the notifiers associated with the structure. - `structure.scheduled` (boolean, optional) Indicates whether automatic report generation is enabled for the structure. - `structure.version` (integer, optional) Current version of the report structure. - `notifiers` (array, optional) Notifiers created and associated with the report structure. - `notifiers[].id` (string, optional) Unique identifier (UUID) of the notifier. - `notifiers[].type` (string, optional) Delivery channel configured for the notifier. - `notifiers[].status` (string, optional) Current status of the notifier. - `notifiers[].version` (integer, optional) Current version of the notifier. ## Errors | Status | Error | Description | | ------- | ------- | ----------- | | 400 | validation_error | One or more configuration fields are invalid, or a notifier is malformed. Check the required fields and verify that `data` contains the attributes required for the selected notifier `type`, then submit the request again. | | 401 | invalid_token | The Access Token is invalid, expired, or does not have write permissions. Check the token sent in the `Authorization` header and its scopes, then submit the request again. | | 409 | configuration_already_exists | An active configuration already exists for the specified `reportId`. Retrieve it with `GET /config` and update it with `PUT /config/{structureId}` instead of creating a new configuration. | ## Request example ### cURL ```bash curl -X POST \ 'https://api.mercadopago.com/v1/reporting/operations/{reportId}/config' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ' \ -d '{ "structure": { "name": "collections-structure", "columns": [ { "key": "date_created" } ], "file_format": { "column_separator": ",", "decimal_separator": ".", "date_format": "yyyy-MM-dd", "name": "activities_collection", "prefix": "activities_" }, "display_timezone": "GMT-05" }, "notifiers": [ { "type": "webhook", "data": { "url": "string", "key": "string", "server": "sftp.myserver.com", "port": 22, "username": "username", "password": "mypassword", "private_key": "string", "remote_dir": "/myfolder" }, "description": "Webhook delivery" } ] }' ``` ## Response example ```json { "structure": { "id": "aaaabbbb-1111-2222-3333-ccccddddeeee", "name": "collections-structure", "columns": [ { "key": "date_created" } ], "notifiers": [ "11112222-aaaa-bbbb-cccc-333344445555" ], "scheduled": false, "version": 0 }, "notifiers": [ { "id": "11112222-aaaa-bbbb-cccc-333344445555", "type": "webhook", "status": "ACTIVE", "version": 0 } ] } ```