{
  "openapi": "3.1.0",
  "info": {
    "title": "Profit Share Service",
    "version": "9bc53c9c714f",
    "summary": "DgCore platform API surface for the Profit Share Service domain.",
    "description": "The Profit Share Service domain: 23 operations across 1 resource group.\n\nThis is the published contract, not a description of a running deployment: the environment\nyou were granted may carry operations this document does not, and may not carry every\noperation listed here."
  },
  "servers": [
    {
      "url": "https://{gateway}/profit-share-service",
      "description": "The full route is `https://<gateway>/profit-share-service/<path>`. The service segment is fixed; the gateway host is the one you were granted. Substitute it below.",
      "variables": {
        "gateway": {
          "default": "gateway.example"
        }
      }
    }
  ],
  "tags": [
    {
      "name": "pool-definitions",
      "description": "Operations addressed under `/pool-definitions` — 23 operations.",
      "x-aura-documentation": {
        "language": "en",
        "status": "structural-fallback",
        "source": "catalog-structure"
      }
    }
  ],
  "paths": {
    "/pool-definitions": {
      "post": {
        "operationId": "create-pool-definition",
        "tags": [
          "pool-definitions"
        ],
        "summary": "create-pool-definition",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string",
                    "x-aura-field-code": "code"
                  },
                  "endDate": {
                    "type": "string",
                    "format": "date",
                    "x-aura-field-code": "endDate"
                  },
                  "name": {
                    "type": "string",
                    "x-aura-field-code": "name",
                    "x-aura-maskable": true
                  },
                  "poolType": {
                    "type": "integer",
                    "format": "int32",
                    "x-aura-field-code": "poolType"
                  },
                  "rates": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "_rowStatus": {
                          "type": "integer",
                          "format": "int32",
                          "x-aura-field-code": "_rowStatus"
                        },
                        "bankLossRate": {
                          "type": "number",
                          "format": "decimal",
                          "x-aura-field-code": "bankLossRate"
                        },
                        "bankProfitRate": {
                          "type": "number",
                          "format": "decimal",
                          "x-aura-field-code": "bankProfitRate"
                        },
                        "customerLossRate": {
                          "type": "number",
                          "format": "decimal",
                          "x-aura-field-code": "customerLossRate"
                        },
                        "customerProfitRate": {
                          "type": "number",
                          "format": "decimal",
                          "x-aura-field-code": "customerProfitRate"
                        },
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "x-aura-field-code": "id"
                        },
                        "irrRate": {
                          "type": "number",
                          "format": "decimal",
                          "x-aura-field-code": "irrRate"
                        },
                        "perRate": {
                          "type": "number",
                          "format": "decimal",
                          "x-aura-field-code": "perRate"
                        }
                      },
                      "x-aura-field-code": "rates"
                    }
                  },
                  "startDate": {
                    "type": "string",
                    "format": "date-time",
                    "x-aura-field-code": "startDate"
                  }
                },
                "required": [
                  "code",
                  "endDate",
                  "name",
                  "poolType",
                  "startDate"
                ]
              }
            }
          }
        },
        "x-aura-request-binding": {
          "method": "POST",
          "admits": [
            "route",
            "header",
            "claim",
            "body",
            "form"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 6,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 0,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. An exact, uniquely bound route registration declares the command-id envelope, so this schema is the code-backed body contract.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Body shape declared by the exact route registration for the catalog's 200 response.",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "description": "Identifier returned by the command.",
                      "x-aura-documentation": {
                        "language": "en",
                        "status": "source-grounded",
                        "source": "exact-pinned-code-response"
                      }
                    }
                  },
                  "x-aura-documentation": {
                    "language": "en",
                    "status": "source-grounded",
                    "source": "exact-pinned-code-response"
                  }
                }
              }
            },
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "create-pool-definition",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "PoolType",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "Code",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "Name",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "StartDate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "EndDate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "command-id",
          "note": "The route returns `AuraCommandDto<Guid>`, which is the response body itself and not a wrapper around one: the framework declares it as a class with a single property, `Id`, of type `Guid`. A caller gets a JSON OBJECT with one field, not a bare value. The field is `id` on the wire.",
          "declared_type": "AuraCommandDto<Guid>",
          "envelopes": [
            "AuraCommandDto"
          ],
          "payload": "Guid",
          "collection": false,
          "members": [
            {
              "name": "Id",
              "declared_type": "Guid",
              "nullable": false,
              "collection": false,
              "wire_name": "id",
              "wire_name_basis": "framework-naming-policy"
            }
          ],
          "naming": "Member names are the service's declaration names.",
          "synthesized": true
        },
        "x-aura-response-contract-disagreement": {
          "state": "catalog-union-withheld-for-exact-code-contract",
          "note": "An exact, uniquely bound route registration declares the command-id envelope, so this schema is the code-backed body contract.",
          "code_response_state": "command-id",
          "code_cardinality": "single-record",
          "catalog_cardinality": "undeclared",
          "catalog_success_status": 200
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_12",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFIFINITON_CODE_MUST_BE_UNIQUE"
            }
          ]
        }
      }
    },
    "/pool-definitions/{id}": {
      "delete": {
        "operationId": "delete-pool-definition",
        "tags": [
          "pool-definitions"
        ],
        "summary": "delete-pool-definition",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionId"
            }
          }
        ],
        "x-aura-request-binding": {
          "method": "DELETE",
          "admits": [
            "route",
            "query",
            "header",
            "claim"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 0,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 1,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. The catalog declares no response fields for this operation. The body is UNKNOWN CONTENT. The response type this route registers was read from the service's own source and is published on this operation as `x-aura-code-response`.",
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "delete-pool-definition",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "empty-body",
          "note": "The registration passes ONE generic argument, which is the request type. There is no second argument because there is no response type to name: the constraint on that overload is `ICommand`/`IQuery`, both of which extend `IRequest<Unit>`, so the framework binds the result to `Unit` and `InvokeRequestAsync` returns before writing anything to the body.",
          "body": "empty",
          "success_status": 200,
          "derivation": "arity-1 registration; ICommand/IQuery : IRequest<Unit>, and the framework returns before writing a body"
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            }
          ]
        }
      },
      "put": {
        "operationId": "update-pool-definition",
        "tags": [
          "pool-definitions"
        ],
        "summary": "update-pool-definition",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionId"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "endDate": {
                    "type": "string",
                    "format": "date",
                    "x-aura-field-code": "endDate"
                  },
                  "isActive": {
                    "type": "boolean",
                    "x-aura-field-code": "isActive"
                  },
                  "name": {
                    "type": "string",
                    "x-aura-field-code": "name",
                    "x-aura-maskable": true
                  },
                  "poolType": {
                    "type": "integer",
                    "format": "int32",
                    "x-aura-field-code": "poolType"
                  },
                  "startDate": {
                    "type": "string",
                    "format": "date-time",
                    "x-aura-field-code": "startDate"
                  }
                },
                "required": [
                  "endDate",
                  "isActive",
                  "name",
                  "poolType",
                  "startDate"
                ]
              }
            }
          }
        },
        "x-aura-request-binding": {
          "method": "PUT",
          "admits": [
            "route",
            "header",
            "claim",
            "body",
            "form"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 5,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 1,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. The catalog declares no response fields for this operation. The body is UNKNOWN CONTENT. The response type this route registers was read from the service's own source and is published on this operation as `x-aura-code-response`.",
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "update-pool-definition",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolType",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "Name",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "IsActive",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "StartDate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "EndDate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "empty-body",
          "note": "The registration passes ONE generic argument, which is the request type. There is no second argument because there is no response type to name: the constraint on that overload is `ICommand`/`IQuery`, both of which extend `IRequest<Unit>`, so the framework binds the result to `Unit` and `InvokeRequestAsync` returns before writing anything to the body.",
          "body": "empty",
          "success_status": 200,
          "derivation": "arity-1 registration; ICommand/IQuery : IRequest<Unit>, and the framework returns before writing a body"
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            }
          ]
        }
      }
    },
    "/pool-definitions/{id}/currencies": {
      "get": {
        "operationId": "get-pool-definition-currency-map-list",
        "tags": [
          "pool-definitions"
        ],
        "summary": "get-pool-definition-currency-map-list",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionId"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "object",
              "x-aura-field-code": "filter"
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "x-aura-field-code": "orderBy"
            }
          },
          {
            "name": "orderSort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "x-aura-field-code": "orderSort"
            }
          },
          {
            "name": "pageIndex",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-aura-field-code": "pageIndex"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-aura-field-code": "pageSize"
            }
          }
        ],
        "x-aura-request-binding": {
          "method": "GET",
          "admits": [
            "route",
            "query",
            "header",
            "claim"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 0,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 1,
            "query": 5
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. Returns a collection of records. Of 135 operations in this state that were probed (measured against a reference deployment on parameterless GET routes only), 118 answered and 118 returned a bare JSON array.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Array of catalog-declared response records.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "currencyId": {
                        "type": "integer",
                        "format": "int32",
                        "x-aura-field-code": "currencyId"
                      },
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "x-aura-field-code": "poolDefinitionCurrencyMapId"
                      },
                      "isActive": {
                        "type": "boolean",
                        "x-aura-field-code": "isActive"
                      },
                      "poolDefinitionId": {
                        "type": "string",
                        "format": "uuid",
                        "x-aura-field-code": "poolDefinitionId"
                      }
                    }
                  },
                  "x-aura-documentation": {
                    "language": "en",
                    "status": "structural-fallback",
                    "source": "catalog-structure"
                  }
                }
              }
            },
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "get-pool-definition-currency-map-list",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/currencies",
        "x-aura-capabilities": {
          "filtering": true,
          "ordering": true,
          "paging": true,
          "note": "Platform-provided behaviours declared on the catalog entry. The catalog does not record the parameter names the platform uses for them, so they are not rendered as parameters here."
        },
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PageIndex",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PageSize",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "OrderBy",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "OrderSort",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "Filter",
              "declared_type": null,
              "nullable": false,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "structure",
          "declared_type": "IEnumerable<PoolDefinitionCurrencyMapDto>",
          "envelopes": [
            "IEnumerable"
          ],
          "payload": "PoolDefinitionCurrencyMapDto",
          "collection": true,
          "members": [
            {
              "name": "Id",
              "declared_type": "Guid",
              "nullable": false,
              "collection": false
            },
            {
              "name": "IsActive",
              "declared_type": "bool?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "PoolDefinitionId",
              "declared_type": "Guid",
              "nullable": false,
              "collection": false
            },
            {
              "name": "CurrencyId",
              "declared_type": "int",
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionRateId",
              "declared_type": "Guid?",
              "nullable": true,
              "collection": false
            }
          ],
          "naming": "Member names are the service's declaration names."
        }
      },
      "post": {
        "operationId": "create-pool-definition-currency-map",
        "tags": [
          "pool-definitions"
        ],
        "summary": "create-pool-definition-currency-map",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionId"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "currencyNumber": {
                    "type": "string",
                    "x-aura-field-code": "currencyNumber"
                  }
                },
                "required": [
                  "currencyNumber"
                ]
              }
            }
          }
        },
        "x-aura-request-binding": {
          "method": "POST",
          "admits": [
            "route",
            "header",
            "claim",
            "body",
            "form"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 1,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 1,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. An exact, uniquely bound route registration declares the command-id envelope, so this schema is the code-backed body contract.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Body shape declared by the exact route registration for the catalog's 200 response.",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "description": "Identifier returned by the command.",
                      "x-aura-documentation": {
                        "language": "en",
                        "status": "source-grounded",
                        "source": "exact-pinned-code-response"
                      }
                    }
                  },
                  "x-aura-documentation": {
                    "language": "en",
                    "status": "source-grounded",
                    "source": "exact-pinned-code-response"
                  }
                }
              }
            },
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "create-pool-definition-currency-map",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/currencies",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "CurrencyNumber",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionRateId",
              "declared_type": null,
              "nullable": true,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "command-id",
          "note": "The route returns `AuraCommandDto<Guid>`, which is the response body itself and not a wrapper around one: the framework declares it as a class with a single property, `Id`, of type `Guid`. A caller gets a JSON OBJECT with one field, not a bare value. The field is `id` on the wire.",
          "declared_type": "AuraCommandDto<Guid>",
          "envelopes": [
            "AuraCommandDto"
          ],
          "payload": "Guid",
          "collection": false,
          "members": [
            {
              "name": "Id",
              "declared_type": "Guid",
              "nullable": false,
              "collection": false,
              "wire_name": "id",
              "wire_name_basis": "framework-naming-policy"
            }
          ],
          "naming": "Member names are the service's declaration names.",
          "synthesized": true
        },
        "x-aura-response-contract-disagreement": {
          "state": "catalog-union-withheld-for-exact-code-contract",
          "note": "An exact, uniquely bound route registration declares the command-id envelope, so this schema is the code-backed body contract.",
          "code_response_state": "command-id",
          "code_cardinality": "single-record",
          "catalog_cardinality": "undeclared",
          "catalog_success_status": 200
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_7",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_CURRENCY_ALREADY_EXISTS"
            }
          ]
        }
      }
    },
    "/pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}": {
      "delete": {
        "operationId": "delete-pool-definition-currency-map",
        "tags": [
          "pool-definitions"
        ],
        "summary": "delete-pool-definition-currency-map",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionId"
            }
          },
          {
            "name": "poolDefinitionCurrencyMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionCurrencyMapId"
            }
          }
        ],
        "x-aura-request-binding": {
          "method": "DELETE",
          "admits": [
            "route",
            "query",
            "header",
            "claim"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 0,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 2,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. The catalog declares no response fields for this operation. The body is UNKNOWN CONTENT. The response type this route registers was read from the service's own source and is published on this operation as `x-aura-code-response`.",
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "delete-pool-definition-currency-map",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionCurrencyMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "empty-body",
          "note": "The registration passes ONE generic argument, which is the request type. There is no second argument because there is no response type to name: the constraint on that overload is `ICommand`/`IQuery`, both of which extend `IRequest<Unit>`, so the framework binds the result to `Unit` and `InvokeRequestAsync` returns before writing anything to the body.",
          "body": "empty",
          "success_status": 200,
          "derivation": "arity-1 registration; ICommand/IQuery : IRequest<Unit>, and the framework returns before writing a body"
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_6",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_CURRENCY_NOT_FOUND"
            }
          ]
        }
      },
      "get": {
        "operationId": "get-pool-definition-currency-map-by-id",
        "tags": [
          "pool-definitions"
        ],
        "summary": "get-pool-definition-currency-map-by-id",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionId"
            }
          },
          {
            "name": "poolDefinitionCurrencyMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionCurrencyMapId"
            }
          }
        ],
        "x-aura-request-binding": {
          "method": "GET",
          "admits": [
            "route",
            "query",
            "header",
            "claim"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 0,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 2,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. The catalog declares this returns a single record. Of 25 operations in this state with a probeable route, 8 answered and 6 returned a single record — the other two returned a collection and a bare boolean.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "currencyId": {
                      "type": "integer",
                      "format": "int32",
                      "x-aura-field-code": "currencyId"
                    },
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "x-aura-field-code": "poolDefinitionId"
                    },
                    "isActive": {
                      "type": "boolean",
                      "x-aura-field-code": "isActive"
                    },
                    "poolDefinitionId": {
                      "type": "string",
                      "format": "uuid",
                      "x-aura-field-code": "poolDefinitionId"
                    }
                  }
                }
              }
            },
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "get-pool-definition-currency-map-by-id",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionCurrencyMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "structure",
          "declared_type": "PoolDefinitionCurrencyMapDto",
          "payload": "PoolDefinitionCurrencyMapDto",
          "collection": false,
          "members": [
            {
              "name": "Id",
              "declared_type": "Guid",
              "nullable": false,
              "collection": false
            },
            {
              "name": "IsActive",
              "declared_type": "bool?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "PoolDefinitionId",
              "declared_type": "Guid",
              "nullable": false,
              "collection": false
            },
            {
              "name": "CurrencyId",
              "declared_type": "int",
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionRateId",
              "declared_type": "Guid?",
              "nullable": true,
              "collection": false
            }
          ],
          "naming": "Member names are the service's declaration names."
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_6",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_CURRENCY_NOT_FOUND"
            }
          ]
        }
      },
      "put": {
        "operationId": "update-pool-definition-currency-map",
        "tags": [
          "pool-definitions"
        ],
        "summary": "update-pool-definition-currency-map",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionId"
            }
          },
          {
            "name": "poolDefinitionCurrencyMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionCurrencyMapId"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "currencyNumber": {
                    "type": "string",
                    "x-aura-field-code": "currencyNumber"
                  },
                  "isActive": {
                    "type": "boolean",
                    "x-aura-field-code": "isActive"
                  }
                },
                "required": [
                  "currencyNumber",
                  "isActive"
                ]
              }
            }
          }
        },
        "x-aura-request-binding": {
          "method": "PUT",
          "admits": [
            "route",
            "header",
            "claim",
            "body",
            "form"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 2,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 2,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. The catalog declares no response fields for this operation. The body is UNKNOWN CONTENT. The response type this route registers was read from the service's own source and is published on this operation as `x-aura-code-response`.",
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "update-pool-definition-currency-map",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionCurrencyMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "IsActive",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "CurrencyNumber",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionRateId",
              "declared_type": null,
              "nullable": true,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "empty-body",
          "note": "The registration passes ONE generic argument, which is the request type. There is no second argument because there is no response type to name: the constraint on that overload is `ICommand`/`IQuery`, both of which extend `IRequest<Unit>`, so the framework binds the result to `Unit` and `InvokeRequestAsync` returns before writing anything to the body.",
          "body": "empty",
          "success_status": 200,
          "derivation": "arity-1 registration; ICommand/IQuery : IRequest<Unit>, and the framework returns before writing a body"
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_6",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_CURRENCY_NOT_FOUND"
            }
          ]
        }
      }
    },
    "/pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}/pool-product-maps": {
      "get": {
        "operationId": "get-pool-product-map-list",
        "tags": [
          "pool-definitions"
        ],
        "summary": "get-pool-product-map-list",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionId"
            }
          },
          {
            "name": "poolDefinitionCurrencyMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionCurrencyMapId"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "object",
              "x-aura-field-code": "filter"
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "x-aura-field-code": "orderBy"
            }
          },
          {
            "name": "orderSort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "x-aura-field-code": "orderSort"
            }
          },
          {
            "name": "pageIndex",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-aura-field-code": "pageIndex"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-aura-field-code": "pageSize"
            }
          }
        ],
        "x-aura-request-binding": {
          "method": "GET",
          "admits": [
            "route",
            "query",
            "header",
            "claim"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 0,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 2,
            "query": 5
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. Returns a collection of records. Of 135 operations in this state that were probed (measured against a reference deployment on parameterless GET routes only), 118 answered and 118 returned a bare JSON array.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Array of catalog-declared response records.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "accountProductId": {
                        "type": "string",
                        "format": "uuid",
                        "x-aura-field-code": "accountProductId"
                      },
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "x-aura-field-code": "poolProductMapId"
                      },
                      "poolDefinitionCurrencyMapId": {
                        "type": "string",
                        "format": "uuid",
                        "x-aura-field-code": "poolDefinitionCurrencyMapId"
                      },
                      "productType": {
                        "type": "integer",
                        "format": "int32",
                        "x-aura-field-code": "productType"
                      }
                    }
                  },
                  "x-aura-documentation": {
                    "language": "en",
                    "status": "structural-fallback",
                    "source": "catalog-structure"
                  }
                }
              }
            },
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "get-pool-product-map-list",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}/pool-product-maps",
        "x-aura-capabilities": {
          "filtering": true,
          "ordering": true,
          "paging": true,
          "note": "Platform-provided behaviours declared on the catalog entry. The catalog does not record the parameter names the platform uses for them, so they are not rendered as parameters here."
        },
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionCurrencyMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PageIndex",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PageSize",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "OrderBy",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "OrderSort",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "Filter",
              "declared_type": null,
              "nullable": false,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "structure",
          "declared_type": "IEnumerable<PoolProductMapDto>",
          "envelopes": [
            "IEnumerable"
          ],
          "payload": "PoolProductMapDto",
          "collection": true,
          "members": [
            {
              "name": "AccountProductId",
              "declared_type": "Guid?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "ProductType",
              "declared_type": "int?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "PoolDefinitionCurrencyMapId",
              "declared_type": "Guid?",
              "nullable": true,
              "collection": false
            }
          ],
          "naming": "Member names are the service's declaration names."
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_6",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_CURRENCY_NOT_FOUND"
            }
          ]
        }
      },
      "post": {
        "operationId": "create-pool-product-map",
        "tags": [
          "pool-definitions"
        ],
        "summary": "create-pool-product-map",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionId"
            }
          },
          {
            "name": "poolDefinitionCurrencyMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionCurrencyMapId"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "accountProductId": {
                    "type": "string",
                    "format": "uuid",
                    "x-aura-field-code": "accountProductId"
                  },
                  "productType": {
                    "type": "integer",
                    "format": "int32",
                    "x-aura-field-code": "productType",
                    "x-aura-parameter-enumeration": {
                      "state": "refused"
                    }
                  }
                },
                "required": [
                  "accountProductId",
                  "productType"
                ]
              }
            }
          }
        },
        "x-aura-request-binding": {
          "method": "POST",
          "admits": [
            "route",
            "header",
            "claim",
            "body",
            "form"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 2,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 2,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. An exact, uniquely bound route registration declares the command-id envelope, so this schema is the code-backed body contract.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Body shape declared by the exact route registration for the catalog's 200 response.",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "description": "Identifier returned by the command.",
                      "x-aura-documentation": {
                        "language": "en",
                        "status": "source-grounded",
                        "source": "exact-pinned-code-response"
                      }
                    }
                  },
                  "x-aura-documentation": {
                    "language": "en",
                    "status": "source-grounded",
                    "source": "exact-pinned-code-response"
                  }
                }
              }
            },
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "create-pool-product-map",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}/pool-product-maps",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionCurrencyMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "AccountProductId",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "ProductType",
              "declared_type": null,
              "nullable": true,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "command-id",
          "note": "The route returns `AuraCommandDto<Guid>`, which is the response body itself and not a wrapper around one: the framework declares it as a class with a single property, `Id`, of type `Guid`. A caller gets a JSON OBJECT with one field, not a bare value. The field is `id` on the wire.",
          "declared_type": "AuraCommandDto<Guid>",
          "envelopes": [
            "AuraCommandDto"
          ],
          "payload": "Guid",
          "collection": false,
          "members": [
            {
              "name": "Id",
              "declared_type": "Guid",
              "nullable": false,
              "collection": false,
              "wire_name": "id",
              "wire_name_basis": "framework-naming-policy"
            }
          ],
          "naming": "Member names are the service's declaration names.",
          "synthesized": true
        },
        "x-aura-response-contract-disagreement": {
          "state": "catalog-union-withheld-for-exact-code-contract",
          "note": "An exact, uniquely bound route registration declares the command-id envelope, so this schema is the code-backed body contract.",
          "code_response_state": "command-id",
          "code_cardinality": "single-record",
          "catalog_cardinality": "undeclared",
          "catalog_success_status": 200
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_6",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_CURRENCY_NOT_FOUND"
            }
          ]
        }
      }
    },
    "/pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}/pool-product-maps/{poolProductMapId}": {
      "delete": {
        "operationId": "delete-pool-product-map",
        "tags": [
          "pool-definitions"
        ],
        "summary": "delete-pool-product-map",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionId"
            }
          },
          {
            "name": "poolDefinitionCurrencyMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionCurrencyMapId"
            }
          },
          {
            "name": "poolProductMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolProductMapId"
            }
          }
        ],
        "x-aura-request-binding": {
          "method": "DELETE",
          "admits": [
            "route",
            "query",
            "header",
            "claim"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 0,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 3,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. The catalog declares no response fields for this operation. The body is UNKNOWN CONTENT. The response type this route registers was read from the service's own source and is published on this operation as `x-aura-code-response`.",
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "delete-pool-product-map",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}/pool-product-maps/{poolProductMapId}",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionCurrencyMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolProductMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "empty-body",
          "note": "The registration passes ONE generic argument, which is the request type. There is no second argument because there is no response type to name: the constraint on that overload is `ICommand`/`IQuery`, both of which extend `IRequest<Unit>`, so the framework binds the result to `Unit` and `InvokeRequestAsync` returns before writing anything to the body.",
          "body": "empty",
          "success_status": 200,
          "derivation": "arity-1 registration; ICommand/IQuery : IRequest<Unit>, and the framework returns before writing a body"
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_42",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_PRODUCT_MAP_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_6",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_CURRENCY_NOT_FOUND"
            }
          ]
        }
      },
      "get": {
        "operationId": "get-pool-product-map-by-id",
        "tags": [
          "pool-definitions"
        ],
        "summary": "get-pool-product-map-by-id",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolProductMapId"
            }
          },
          {
            "name": "poolDefinitionCurrencyMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionCurrencyMapId"
            }
          },
          {
            "name": "poolProductMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "mapId"
            }
          }
        ],
        "x-aura-request-binding": {
          "method": "GET",
          "admits": [
            "route",
            "query",
            "header",
            "claim"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 0,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 3,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. The catalog declares this returns a single record. Of 25 operations in this state with a probeable route, 8 answered and 6 returned a single record — the other two returned a collection and a bare boolean.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "accountProductId": {
                      "type": "string",
                      "format": "uuid",
                      "x-aura-field-code": "accountProductId"
                    },
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "x-aura-field-code": "poolProductMapId"
                    },
                    "poolDefinitionCurrencyMapId": {
                      "type": "string",
                      "format": "uuid",
                      "x-aura-field-code": "poolDefinitionCurrencyMapId"
                    },
                    "productType": {
                      "type": "integer",
                      "format": "int32",
                      "x-aura-field-code": "productType"
                    }
                  }
                }
              }
            },
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "get-pool-product-map-by-id",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}/pool-product-maps/{poolProductMapId}",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionCurrencyMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolProductMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "structure",
          "declared_type": "PoolProductMapDto",
          "payload": "PoolProductMapDto",
          "collection": false,
          "members": [
            {
              "name": "AccountProductId",
              "declared_type": "Guid?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "ProductType",
              "declared_type": "int?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "PoolDefinitionCurrencyMapId",
              "declared_type": "Guid?",
              "nullable": true,
              "collection": false
            }
          ],
          "naming": "Member names are the service's declaration names."
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_42",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_PRODUCT_MAP_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_6",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_CURRENCY_NOT_FOUND"
            }
          ]
        }
      },
      "put": {
        "operationId": "update-pool-product-map",
        "tags": [
          "pool-definitions"
        ],
        "summary": "update-pool-product-map",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionId"
            }
          },
          {
            "name": "poolDefinitionCurrencyMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionCurrencyMapId"
            }
          },
          {
            "name": "poolProductMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolProductMapId"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "accountProductId": {
                    "type": "string",
                    "format": "uuid",
                    "x-aura-field-code": "accountProductId"
                  },
                  "productType": {
                    "type": "integer",
                    "format": "int32",
                    "x-aura-field-code": "productType",
                    "x-aura-parameter-enumeration": {
                      "state": "refused"
                    }
                  }
                },
                "required": [
                  "accountProductId",
                  "productType"
                ]
              }
            }
          }
        },
        "x-aura-request-binding": {
          "method": "PUT",
          "admits": [
            "route",
            "header",
            "claim",
            "body",
            "form"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 2,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 3,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. The catalog declares no response fields for this operation. The body is UNKNOWN CONTENT. The response type this route registers was read from the service's own source and is published on this operation as `x-aura-code-response`.",
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "update-pool-product-map",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}/pool-product-maps/{poolProductMapId}",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionCurrencyMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolProductMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "AccountProductId",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "ProductType",
              "declared_type": null,
              "nullable": true,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "empty-body",
          "note": "The registration passes ONE generic argument, which is the request type. There is no second argument because there is no response type to name: the constraint on that overload is `ICommand`/`IQuery`, both of which extend `IRequest<Unit>`, so the framework binds the result to `Unit` and `InvokeRequestAsync` returns before writing anything to the body.",
          "body": "empty",
          "success_status": 200,
          "derivation": "arity-1 registration; ICommand/IQuery : IRequest<Unit>, and the framework returns before writing a body"
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_42",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_PRODUCT_MAP_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_6",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_CURRENCY_NOT_FOUND"
            }
          ]
        }
      }
    },
    "/pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}/pool-product-maps/{poolProductMapId}/account-renewals": {
      "get": {
        "operationId": "get-account-renewal-list",
        "tags": [
          "pool-definitions"
        ],
        "summary": "get-account-renewal-list",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "id"
            }
          },
          {
            "name": "poolDefinitionCurrencyMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionCurrencyMapId"
            }
          },
          {
            "name": "poolProductMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolProductMapId"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "object",
              "x-aura-field-code": "filter"
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "x-aura-field-code": "orderBy"
            }
          },
          {
            "name": "orderSort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "x-aura-field-code": "orderSort"
            }
          },
          {
            "name": "pageIndex",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-aura-field-code": "pageIndex"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-aura-field-code": "pageSize"
            }
          }
        ],
        "x-aura-request-binding": {
          "method": "GET",
          "admits": [
            "route",
            "query",
            "header",
            "claim"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 0,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 3,
            "query": 5
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. Returns a collection of records. Of 135 operations in this state that were probed (measured against a reference deployment on parameterless GET routes only), 118 answered and 118 returned a bare JSON array.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Array of catalog-declared response records.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "accountId": {
                        "type": "string",
                        "format": "uuid",
                        "x-aura-field-code": "accountId"
                      },
                      "accountProductId": {
                        "type": "string",
                        "format": "uuid",
                        "x-aura-field-code": "accountProductId"
                      },
                      "accountValue": {
                        "type": "number",
                        "format": "decimal",
                        "x-aura-field-code": "accountValue"
                      },
                      "currentBalance": {
                        "type": "number",
                        "format": "decimal",
                        "x-aura-field-code": "currentBalance"
                      },
                      "grossProfit": {
                        "type": "number",
                        "format": "decimal",
                        "x-aura-field-code": "grossProfit"
                      },
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "x-aura-field-code": "id"
                      },
                      "maturityBegin": {
                        "type": "string",
                        "format": "date",
                        "x-aura-field-code": "maturityBegin"
                      },
                      "maturityTerm": {
                        "type": "string",
                        "format": "date",
                        "x-aura-field-code": "maturityTerm"
                      },
                      "netProfit": {
                        "type": "number",
                        "format": "decimal",
                        "x-aura-field-code": "netProfit"
                      },
                      "poolProductMapId": {
                        "type": "string",
                        "format": "uuid",
                        "x-aura-field-code": "poolProductMapId"
                      },
                      "renewalDate": {
                        "type": "string",
                        "format": "date",
                        "x-aura-field-code": "renewalDate"
                      },
                      "tax": {
                        "type": "number",
                        "x-aura-field-code": "taxValue"
                      },
                      "unitValue": {
                        "type": "number",
                        "format": "decimal",
                        "x-aura-field-code": "unitValue"
                      }
                    }
                  },
                  "x-aura-documentation": {
                    "language": "en",
                    "status": "structural-fallback",
                    "source": "catalog-structure"
                  }
                }
              }
            },
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "get-account-renewal-list",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}/pool-product-maps/{poolProductMapId}/account-renewals",
        "x-aura-capabilities": {
          "filtering": true,
          "ordering": true,
          "paging": true,
          "note": "Platform-provided behaviours declared on the catalog entry. The catalog does not record the parameter names the platform uses for them, so they are not rendered as parameters here."
        },
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionCurrencyMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolProductMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PageIndex",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PageSize",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "OrderBy",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "OrderSort",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "Filter",
              "declared_type": null,
              "nullable": false,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "structure",
          "declared_type": "IEnumerable<AccountRenewalDto>",
          "envelopes": [
            "IEnumerable"
          ],
          "payload": "AccountRenewalDto",
          "collection": true,
          "members": [
            {
              "name": "AccountId",
              "declared_type": "Guid?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "RenewalDate",
              "declared_type": "DateOnly?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "GrossProfit",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "NetProfit",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "Tax",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "CurrentBalance",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "UnitValue",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "AccountValue",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "AccountProductId",
              "declared_type": "Guid?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "MaturityBegin",
              "declared_type": "DateOnly?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "MaturityTerm",
              "declared_type": "DateOnly?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "PoolProductMapId",
              "declared_type": "Guid?",
              "nullable": true,
              "collection": false
            }
          ],
          "naming": "Member names are the service's declaration names."
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_42",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_PRODUCT_MAP_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_6",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_CURRENCY_NOT_FOUND"
            }
          ]
        }
      },
      "post": {
        "operationId": "create-account-renewal",
        "tags": [
          "pool-definitions"
        ],
        "summary": "create-account-renewal",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "id"
            }
          },
          {
            "name": "poolDefinitionCurrencyMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionCurrencyMapId"
            }
          },
          {
            "name": "poolProductMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolProductMapId"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "accountId": {
                    "type": "string",
                    "format": "uuid",
                    "x-aura-field-code": "accountId"
                  },
                  "accountProductId": {
                    "type": "string",
                    "format": "uuid",
                    "x-aura-field-code": "accountProductId"
                  },
                  "accountValue": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "accountValue"
                  },
                  "currentBalance": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "currentBalance"
                  },
                  "grossProfit": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "grossProfit"
                  },
                  "maturityBegin": {
                    "type": "string",
                    "format": "date",
                    "x-aura-field-code": "maturityBegin"
                  },
                  "maturityTerm": {
                    "type": "string",
                    "format": "date",
                    "x-aura-field-code": "maturityTerm"
                  },
                  "netProfit": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "netProfit"
                  },
                  "renewalDate": {
                    "type": "string",
                    "format": "date",
                    "x-aura-field-code": "renewalDate"
                  },
                  "tax": {
                    "type": "number",
                    "x-aura-field-code": "taxValue"
                  },
                  "unitValue": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "unitValue"
                  }
                },
                "required": [
                  "accountProductId"
                ]
              }
            }
          }
        },
        "x-aura-request-binding": {
          "method": "POST",
          "admits": [
            "route",
            "header",
            "claim",
            "body",
            "form"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 11,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 3,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. An exact, uniquely bound route registration declares the command-id envelope, so this schema is the code-backed body contract.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Body shape declared by the exact route registration for the catalog's 200 response.",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "description": "Identifier returned by the command.",
                      "x-aura-documentation": {
                        "language": "en",
                        "status": "source-grounded",
                        "source": "exact-pinned-code-response"
                      }
                    }
                  },
                  "x-aura-documentation": {
                    "language": "en",
                    "status": "source-grounded",
                    "source": "exact-pinned-code-response"
                  }
                }
              }
            },
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "create-account-renewal",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}/pool-product-maps/{poolProductMapId}/account-renewals",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionCurrencyMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "AccountId",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "RenewalDate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "GrossProfit",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "NetProfit",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "Tax",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "CurrentBalance",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "UnitValue",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "AccountValue",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "AccountProductId",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "PoolProductMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "MaturityBegin",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "MaturityTerm",
              "declared_type": null,
              "nullable": true,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "command-id",
          "note": "The route returns `AuraCommandDto<Guid>`, which is the response body itself and not a wrapper around one: the framework declares it as a class with a single property, `Id`, of type `Guid`. A caller gets a JSON OBJECT with one field, not a bare value. The field is `id` on the wire.",
          "declared_type": "AuraCommandDto<Guid>",
          "envelopes": [
            "AuraCommandDto"
          ],
          "payload": "Guid",
          "collection": false,
          "members": [
            {
              "name": "Id",
              "declared_type": "Guid",
              "nullable": false,
              "collection": false,
              "wire_name": "id",
              "wire_name_basis": "framework-naming-policy"
            }
          ],
          "naming": "Member names are the service's declaration names.",
          "synthesized": true
        },
        "x-aura-response-contract-disagreement": {
          "state": "catalog-union-withheld-for-exact-code-contract",
          "note": "An exact, uniquely bound route registration declares the command-id envelope, so this schema is the code-backed body contract.",
          "code_response_state": "command-id",
          "code_cardinality": "single-record",
          "catalog_cardinality": "undeclared",
          "catalog_success_status": 200
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_42",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_PRODUCT_MAP_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_6",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_CURRENCY_NOT_FOUND"
            }
          ]
        }
      }
    },
    "/pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}/pool-product-maps/{poolProductMapId}/account-renewals/{accountRenewalId}": {
      "delete": {
        "operationId": "delete-account-renewal",
        "tags": [
          "pool-definitions"
        ],
        "summary": "delete-account-renewal",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "id"
            }
          },
          {
            "name": "poolDefinitionCurrencyMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionCurrencyMapId"
            }
          },
          {
            "name": "poolProductMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolProductMapId"
            }
          },
          {
            "name": "accountRenewalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "accountRenewalId"
            }
          }
        ],
        "x-aura-request-binding": {
          "method": "DELETE",
          "admits": [
            "route",
            "query",
            "header",
            "claim"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 0,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 4,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. The catalog declares no response fields for this operation. The body is UNKNOWN CONTENT. The response type this route registers was read from the service's own source and is published on this operation as `x-aura-code-response`.",
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "delete-account-renewal",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}/pool-product-maps/{poolProductMapId}/account-renewals/{accountRenewalId}",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionCurrencyMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "AccountRenewalId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolProductMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "empty-body",
          "note": "The registration passes ONE generic argument, which is the request type. There is no second argument because there is no response type to name: the constraint on that overload is `ICommand`/`IQuery`, both of which extend `IRequest<Unit>`, so the framework binds the result to `Unit` and `InvokeRequestAsync` returns before writing anything to the body.",
          "body": "empty",
          "success_status": 200,
          "derivation": "arity-1 registration; ICommand/IQuery : IRequest<Unit>, and the framework returns before writing a body"
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_42",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_PRODUCT_MAP_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_54",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "ACCOUNT_RENEWAL_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_6",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_CURRENCY_NOT_FOUND"
            }
          ]
        }
      },
      "get": {
        "operationId": "get-account-renewal-by-id",
        "tags": [
          "pool-definitions"
        ],
        "summary": "get-account-renewal-by-id",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "id"
            }
          },
          {
            "name": "poolDefinitionCurrencyMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionCurrencyMapId"
            }
          },
          {
            "name": "poolProductMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolProductMapId"
            }
          },
          {
            "name": "accountRenewalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "accountRenewalId"
            }
          }
        ],
        "x-aura-request-binding": {
          "method": "GET",
          "admits": [
            "route",
            "query",
            "header",
            "claim"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 0,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 4,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. The catalog declares this returns a single record. Of 25 operations in this state with a probeable route, 8 answered and 6 returned a single record — the other two returned a collection and a bare boolean.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "accountId": {
                      "type": "string",
                      "format": "uuid",
                      "x-aura-field-code": "accountId"
                    },
                    "accountProductId": {
                      "type": "string",
                      "format": "uuid",
                      "x-aura-field-code": "accountProductId"
                    },
                    "accountValue": {
                      "type": "number",
                      "format": "decimal",
                      "x-aura-field-code": "accountValue"
                    },
                    "currentBalance": {
                      "type": "number",
                      "format": "decimal",
                      "x-aura-field-code": "currentBalance"
                    },
                    "grossProfit": {
                      "type": "number",
                      "format": "decimal",
                      "x-aura-field-code": "grossProfit"
                    },
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "x-aura-field-code": "id"
                    },
                    "maturityBegin": {
                      "type": "string",
                      "format": "date",
                      "x-aura-field-code": "maturityBegin"
                    },
                    "maturityTerm": {
                      "type": "string",
                      "format": "date",
                      "x-aura-field-code": "maturityTerm"
                    },
                    "netProfit": {
                      "type": "number",
                      "format": "decimal",
                      "x-aura-field-code": "netProfit"
                    },
                    "poolProductMapId": {
                      "type": "string",
                      "format": "uuid",
                      "x-aura-field-code": "poolProductMapId"
                    },
                    "renewalDate": {
                      "type": "string",
                      "format": "date",
                      "x-aura-field-code": "renewalDate"
                    },
                    "tax": {
                      "type": "number",
                      "x-aura-field-code": "taxValue"
                    },
                    "unitValue": {
                      "type": "number",
                      "format": "decimal",
                      "x-aura-field-code": "unitValue"
                    }
                  }
                }
              }
            },
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "get-account-renewal-by-id",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}/pool-product-maps/{poolProductMapId}/account-renewals/{accountRenewalId}",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionCurrencyMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "AccountRenewalId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolProductMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "structure",
          "declared_type": "AccountRenewalDto",
          "payload": "AccountRenewalDto",
          "collection": false,
          "members": [
            {
              "name": "AccountId",
              "declared_type": "Guid?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "RenewalDate",
              "declared_type": "DateOnly?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "GrossProfit",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "NetProfit",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "Tax",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "CurrentBalance",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "UnitValue",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "AccountValue",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "AccountProductId",
              "declared_type": "Guid?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "MaturityBegin",
              "declared_type": "DateOnly?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "MaturityTerm",
              "declared_type": "DateOnly?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "PoolProductMapId",
              "declared_type": "Guid?",
              "nullable": true,
              "collection": false
            }
          ],
          "naming": "Member names are the service's declaration names."
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_42",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_PRODUCT_MAP_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_54",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "ACCOUNT_RENEWAL_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_6",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_CURRENCY_NOT_FOUND"
            }
          ]
        }
      },
      "put": {
        "operationId": "update-account-renewal",
        "tags": [
          "pool-definitions"
        ],
        "summary": "update-account-renewal",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "id"
            }
          },
          {
            "name": "poolDefinitionCurrencyMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionCurrencyMapId"
            }
          },
          {
            "name": "poolProductMapId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolProductMapId"
            }
          },
          {
            "name": "accountRenewalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "accountRenewalId"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "accountId": {
                    "type": "string",
                    "format": "uuid",
                    "x-aura-field-code": "accountId"
                  },
                  "accountProductId": {
                    "type": "string",
                    "format": "uuid",
                    "x-aura-field-code": "accountProductId"
                  },
                  "accountValue": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "accountValue"
                  },
                  "currentBalance": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "currentBalance"
                  },
                  "grossProfit": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "grossProfit"
                  },
                  "maturityBegin": {
                    "type": "string",
                    "format": "date",
                    "x-aura-field-code": "maturityBegin"
                  },
                  "maturityTerm": {
                    "type": "string",
                    "format": "date",
                    "x-aura-field-code": "maturityTerm"
                  },
                  "netProfit": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "netProfit"
                  },
                  "renewalDate": {
                    "type": "string",
                    "format": "date",
                    "x-aura-field-code": "renewalDate"
                  },
                  "tax": {
                    "type": "number",
                    "x-aura-field-code": "taxValue"
                  },
                  "unitValue": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "unitValue"
                  }
                }
              }
            }
          }
        },
        "x-aura-request-binding": {
          "method": "PUT",
          "admits": [
            "route",
            "header",
            "claim",
            "body",
            "form"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 11,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 4,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. The catalog declares no response fields for this operation. The body is UNKNOWN CONTENT. The response type this route registers was read from the service's own source and is published on this operation as `x-aura-code-response`.",
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "update-account-renewal",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/currencies/{poolDefinitionCurrencyMapId}/pool-product-maps/{poolProductMapId}/account-renewals/{accountRenewalId}",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionCurrencyMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "AccountRenewalId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "AccountId",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "RenewalDate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "GrossProfit",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "NetProfit",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "Tax",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "CurrentBalance",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "UnitValue",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "AccountValue",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "AccountProductId",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "PoolProductMapId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "MaturityBegin",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "MaturityTerm",
              "declared_type": null,
              "nullable": true,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "empty-body",
          "note": "The registration passes ONE generic argument, which is the request type. There is no second argument because there is no response type to name: the constraint on that overload is `ICommand`/`IQuery`, both of which extend `IRequest<Unit>`, so the framework binds the result to `Unit` and `InvokeRequestAsync` returns before writing anything to the body.",
          "body": "empty",
          "success_status": 200,
          "derivation": "arity-1 registration; ICommand/IQuery : IRequest<Unit>, and the framework returns before writing a body"
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_42",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_PRODUCT_MAP_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_54",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "ACCOUNT_RENEWAL_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_6",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_CURRENCY_NOT_FOUND"
            }
          ]
        }
      }
    },
    "/pool-definitions/{id}/rates": {
      "get": {
        "operationId": "get-pool-definition-rate-list",
        "tags": [
          "pool-definitions"
        ],
        "summary": "get-pool-definition-rate-list",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Present in the route template but not declared as a Route-bound field in the catalog.",
            "x-aura-source": "route-template-only"
          }
        ],
        "x-aura-request-binding": {
          "method": "GET",
          "admits": [
            "route",
            "query",
            "header",
            "claim"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 0,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 0,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. The catalog declares no response fields for this operation. It returns a collection of records — but the record's fields are not declared.",
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "get-pool-definition-rate-list",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/rates",
        "x-aura-capabilities": {
          "filtering": true,
          "ordering": true,
          "paging": true,
          "note": "Platform-provided behaviours declared on the catalog entry. The catalog does not record the parameter names the platform uses for them, so they are not rendered as parameters here."
        },
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "structure",
          "declared_type": "IEnumerable<PoolDefinitionRateDto>",
          "envelopes": [
            "IEnumerable"
          ],
          "payload": "PoolDefinitionRateDto",
          "collection": true,
          "members": [
            {
              "name": "Id",
              "declared_type": "Guid",
              "nullable": false,
              "collection": false
            },
            {
              "name": "CustomerProfitRate",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "BankProfitRate",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "CustomerLossRate",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "BankLossRate",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "PerRate",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "IrrRate",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "Currencies",
              "declared_type": "IEnumerable<PoolDefinitionRateCurrencyMapDto>",
              "nullable": false,
              "collection": true
            }
          ],
          "naming": "Member names are the service's declaration names."
        }
      },
      "post": {
        "operationId": "create-pool-definition-rate",
        "tags": [
          "pool-definitions"
        ],
        "summary": "create-pool-definition-rate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionId"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bankLossRate": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "bankLossRate"
                  },
                  "bankProfitRate": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "bankProfitRate"
                  },
                  "customerLossRate": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "customerLossRate"
                  },
                  "customerProfitRate": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "customerProfitRate"
                  },
                  "irrRate": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "irrRate"
                  },
                  "perRate": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "perRate"
                  }
                },
                "required": [
                  "bankLossRate",
                  "bankProfitRate",
                  "customerLossRate",
                  "customerProfitRate",
                  "irrRate",
                  "perRate"
                ]
              }
            }
          }
        },
        "x-aura-request-binding": {
          "method": "POST",
          "admits": [
            "route",
            "header",
            "claim",
            "body",
            "form"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 6,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 1,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. An exact, uniquely bound route registration declares the command-id envelope, so this schema is the code-backed body contract.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Body shape declared by the exact route registration for the catalog's 200 response.",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "description": "Identifier returned by the command.",
                      "x-aura-documentation": {
                        "language": "en",
                        "status": "source-grounded",
                        "source": "exact-pinned-code-response"
                      }
                    }
                  },
                  "x-aura-documentation": {
                    "language": "en",
                    "status": "source-grounded",
                    "source": "exact-pinned-code-response"
                  }
                }
              }
            },
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "create-pool-definition-rate",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/rates",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "CustomerProfitRate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "BankProfitRate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "CustomerLossRate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "BankLossRate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "PerRate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "IrrRate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "command-id",
          "note": "The route returns `AuraCommandDto<Guid>`, which is the response body itself and not a wrapper around one: the framework declares it as a class with a single property, `Id`, of type `Guid`. A caller gets a JSON OBJECT with one field, not a bare value. The field is `id` on the wire.",
          "declared_type": "AuraCommandDto<Guid>",
          "envelopes": [
            "AuraCommandDto"
          ],
          "payload": "Guid",
          "collection": false,
          "members": [
            {
              "name": "Id",
              "declared_type": "Guid",
              "nullable": false,
              "collection": false,
              "wire_name": "id",
              "wire_name_basis": "framework-naming-policy"
            }
          ],
          "naming": "Member names are the service's declaration names.",
          "synthesized": true
        },
        "x-aura-response-contract-disagreement": {
          "state": "catalog-union-withheld-for-exact-code-contract",
          "note": "An exact, uniquely bound route registration declares the command-id envelope, so this schema is the code-backed body contract.",
          "code_response_state": "command-id",
          "code_cardinality": "single-record",
          "catalog_cardinality": "undeclared",
          "catalog_success_status": 200
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            }
          ]
        }
      }
    },
    "/pool-definitions/{id}/rates/{poolDefinitionRateId}": {
      "delete": {
        "operationId": "delete-pool-definition-rate",
        "tags": [
          "pool-definitions"
        ],
        "summary": "delete-pool-definition-rate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionId"
            }
          },
          {
            "name": "poolDefinitionRateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "id"
            }
          }
        ],
        "x-aura-request-binding": {
          "method": "DELETE",
          "admits": [
            "route",
            "query",
            "header",
            "claim"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 0,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 2,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. The catalog declares no response fields for this operation. The body is UNKNOWN CONTENT. The response type this route registers was read from the service's own source and is published on this operation as `x-aura-code-response`.",
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "delete-pool-definition-rate",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/rates/{poolDefinitionRateId}",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionRateId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "empty-body",
          "note": "The registration passes ONE generic argument, which is the request type. There is no second argument because there is no response type to name: the constraint on that overload is `ICommand`/`IQuery`, both of which extend `IRequest<Unit>`, so the framework binds the result to `Unit` and `InvokeRequestAsync` returns before writing anything to the body.",
          "body": "empty",
          "success_status": 200,
          "derivation": "arity-1 registration; ICommand/IQuery : IRequest<Unit>, and the framework returns before writing a body"
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_44",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_RATE_NOT_FOUND"
            }
          ]
        }
      },
      "get": {
        "operationId": "get-pool-definition-rate-by-id",
        "tags": [
          "pool-definitions"
        ],
        "summary": "get-pool-definition-rate-by-id",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Present in the route template but not declared as a Route-bound field in the catalog.",
            "x-aura-source": "route-template-only"
          },
          {
            "name": "poolDefinitionRateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Present in the route template but not declared as a Route-bound field in the catalog.",
            "x-aura-source": "route-template-only"
          }
        ],
        "x-aura-request-binding": {
          "method": "GET",
          "admits": [
            "route",
            "query",
            "header",
            "claim"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 0,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 0,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. The catalog declares no response fields for this operation. The body is UNKNOWN CONTENT. The response type this route registers was read from the service's own source and is published on this operation as `x-aura-code-response`.",
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "get-pool-definition-rate-by-id",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/rates/{poolDefinitionRateId}",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionRateId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "structure",
          "declared_type": "PoolDefinitionRateDto",
          "payload": "PoolDefinitionRateDto",
          "collection": false,
          "members": [
            {
              "name": "Id",
              "declared_type": "Guid",
              "nullable": false,
              "collection": false
            },
            {
              "name": "CustomerProfitRate",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "BankProfitRate",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "CustomerLossRate",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "BankLossRate",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "PerRate",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "IrrRate",
              "declared_type": "decimal?",
              "nullable": true,
              "collection": false
            },
            {
              "name": "Currencies",
              "declared_type": "IEnumerable<PoolDefinitionRateCurrencyMapDto>",
              "nullable": false,
              "collection": true
            }
          ],
          "naming": "Member names are the service's declaration names."
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_44",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_RATE_NOT_FOUND"
            }
          ]
        }
      },
      "put": {
        "operationId": "update-pool-definition-rate",
        "tags": [
          "pool-definitions"
        ],
        "summary": "update-pool-definition-rate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "poolDefinitionId"
            }
          },
          {
            "name": "poolDefinitionRateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "x-aura-field-code": "id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bankLossRate": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "bankLossRate"
                  },
                  "bankProfitRate": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "bankProfitRate"
                  },
                  "customerLossRate": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "customerLossRate"
                  },
                  "customerProfitRate": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "customerProfitRate"
                  },
                  "irrRate": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "irrRate"
                  },
                  "perRate": {
                    "type": "number",
                    "format": "decimal",
                    "x-aura-field-code": "perRate"
                  }
                },
                "required": [
                  "bankLossRate",
                  "bankProfitRate",
                  "customerLossRate",
                  "customerProfitRate",
                  "irrRate",
                  "perRate"
                ]
              }
            }
          }
        },
        "x-aura-request-binding": {
          "method": "PUT",
          "admits": [
            "route",
            "header",
            "claim",
            "body",
            "form"
          ],
          "binder_filters_by_binding_source": true,
          "declared_root_fields_by_binding_source": {
            "body": 6,
            "claim": 0,
            "form": 0,
            "header": 0,
            "path": 2,
            "query": 0
          },
          "dropped_binding_sources": [],
          "dropped_field_names": {},
          "dropped_mandatory_field_names": [],
          "verdict": "all-declared-sources-admitted",
          "basis": "Read from the platform's service-invocation layer, which selects binding sources by the contract row's usage type and operation type and then keeps only fields bound to one of them.",
          "http_edge_note": null
        },
        "responses": {
          "200": {
            "description": "Success. The catalog declares no response fields for this operation. The body is UNKNOWN CONTENT. The response type this route registers was read from the service's own source and is published on this operation as `x-aura-code-response`.",
            "x-aura-documentation": {
              "language": "en",
              "status": "structural-fallback",
              "source": "catalog-structure"
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400",
            "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one."
          },
          "408": {
            "$ref": "#/components/responses/Error408",
            "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`."
          },
          "409": {
            "$ref": "#/components/responses/Error409",
            "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`."
          },
          "500": {
            "$ref": "#/components/responses/Error500",
            "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`."
          },
          "502": {
            "$ref": "#/components/responses/Error502",
            "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`."
          },
          "default": {
            "description": "Error.\n\n**Platform error envelope:** The platform error envelope. The status is chosen by the KIND of failure, not by the error code, so one code can arrive with different statuses and one status covers many codes. Where this operation is known to raise specific codes they are listed under `x-aura-error-codes`; that list is what was found by reading its handler and validators, not a closed set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformError"
                }
              }
            }
          }
        },
        "x-aura-service-code": "update-pool-definition-rate",
        "x-aura-domain": "profit-share",
        "x-aura-raw-url-path": "pool-definitions/{id}/rates/{poolDefinitionRateId}",
        "x-aura-request-contract": {
          "state": "structure",
          "note": "The fields a caller sends.",
          "members": [
            {
              "name": "Id",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "PoolDefinitionRateId",
              "declared_type": null,
              "nullable": false,
              "collection": false
            },
            {
              "name": "CustomerProfitRate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "BankProfitRate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "CustomerLossRate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "BankLossRate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "PerRate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            },
            {
              "name": "IrrRate",
              "declared_type": null,
              "nullable": true,
              "collection": false
            }
          ]
        },
        "x-aura-code-response": {
          "state": "empty-body",
          "note": "The registration passes ONE generic argument, which is the request type. There is no second argument because there is no response type to name: the constraint on that overload is `ICommand`/`IQuery`, both of which extend `IRequest<Unit>`, so the framework binds the result to `Unit` and `InvokeRequestAsync` returns before writing anything to the body.",
          "body": "empty",
          "success_status": 200,
          "derivation": "arity-1 registration; ICommand/IQuery : IRequest<Unit>, and the framework returns before writing a body"
        },
        "x-aura-error-codes": {
          "note": "Error codes this operation is known to raise, read from the handler and its validators. `message_available` says whether the error catalog carries text for a code at this ref — many are raised by code that has no seeded definition here, and for those the code itself is all the platform publishes. This is what was FOUND, not a closed list: an operation may raise a code through a path this scan does not follow.",
          "codes": [
            {
              "code": "ERR_PRFTSHR_1",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_NOT_FOUND"
            },
            {
              "code": "ERR_PRFTSHR_44",
              "status": 400,
              "message": null,
              "message_available": false,
              "constant_name": "POOL_DEFINITION_RATE_NOT_FOUND"
            }
          ]
        }
      }
    }
  },
  "x-aura-collapsed-targets": {
    "note": "These operations are served by this domain but are documented under the forwarder that fronts them, because a forwarder and its target are one logical API and only the caller-facing path is an address. They are listed here so an endpoint of this service is findable from this service's document.",
    "count": 2
  },
  "components": {
    "schemas": {
      "PlatformError": {
        "type": "object",
        "title": "PlatformError",
        "description": "The body a mapped failure returns. One `error` object; `error.code` is the only place the code appears. Not every failure carries it — see the individual statuses.",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message"
            ],
            "properties": {
              "code": {
                "type": "string",
                "description": "The platform error code. It is the identifier on the wire; a human-readable message for it is NOT guaranteed. The error catalog carries the codes seeded for this snapshot, with whichever of the published languages each one has text for, and many codes raised by services have no seeded entry at all. Where this portal knows which operations raise a code, they list it under `x-aura-error-codes`, each entry saying whether a message exists for it."
              },
              "message": {
                "type": "string",
                "description": "The resolved message for the code, in the language the request asked for."
              },
              "validationErrors": {
                "type": "array",
                "description": "Present on a validation failure only: one entry per rule that failed, each carrying its own code.",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "businessErrors": {
                "type": "array",
                "description": "Present on a bulk failure only: one code/message pair per failed item.",
                "items": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "responses": {
      "Error400": {
        "description": "Raised by: AuraValidationException, BatchException, BulkBusinessException, BusinessException, ChannelException, ChannelNotFoundException, JsonException, PartnerCodeNotFoundException, PartnerCodeNullException, PartnerException. Fixed codes for this status: ERR_AURA_30, ERR_AURA_31, ERR_AURA_32, ERR_AURA_39, ERR_AURA_4, ERR_AURA_5, VALIDATION_ERROR. Usually carries the error envelope, but 1 of the 10 failure classes mapped to this status do not — a client that always parses `error.code` must tolerate a body without one.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PlatformError"
            }
          }
        }
      },
      "Error408": {
        "description": "Raised by: AuraTimeoutException. Fixed code for this status: ERR_AURA_33. Carries the error envelope; read `error.code`.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PlatformError"
            }
          }
        }
      },
      "Error409": {
        "description": "Raised by: DbUpdateConcurrencyException, IdempotencyException. Fixed codes for this status: ERR_AURA_1, ERR_AURA_3. Carries the error envelope; read `error.code`.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PlatformError"
            }
          }
        }
      },
      "Error500": {
        "description": "Raised by: AuraException. Fixed code for this status: ERROR. Carries the error envelope; read `error.code`.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PlatformError"
            }
          }
        }
      },
      "Error502": {
        "description": "Raised by: AuraResponseTooLargeException. Fixed code for this status: ERR_AURA_41. Carries the error envelope; read `error.code`.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PlatformError"
            }
          }
        }
      }
    }
  }
}
