chore(openapi): resolve openapi semantic inconsistency (#8099)

This commit is contained in:
Sakil Mostak
2025-05-22 15:21:54 +05:30
committed by GitHub
parent baf38c9ff6
commit fa4b552a32
9 changed files with 233 additions and 71 deletions

View File

@ -312,18 +312,48 @@
"schema": { "schema": {
"type": "string" "type": "string"
} }
} },
], {
"requestBody": { "name": "force_sync",
"content": { "in": "query",
"application/json": { "description": "Decider to enable or disable the connector call for retrieve request",
"schema": { "required": false,
"$ref": "#/components/schemas/PaymentRetrieveBody" "schema": {
} "type": "boolean",
"nullable": true
} }
}, },
"required": true {
}, "name": "client_secret",
"in": "query",
"description": "This is a token which expires after 15 minutes, used from the client to authenticate and create sessions from the SDK",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "expand_attempts",
"in": "query",
"description": "If enabled provides list of attempts linked to payment intent",
"required": false,
"schema": {
"type": "boolean",
"nullable": true
}
},
{
"name": "expand_captures",
"in": "query",
"description": "If enabled provides list of captures linked to latest attempt",
"required": false,
"schema": {
"type": "boolean",
"nullable": true
}
}
],
"responses": { "responses": {
"200": { "200": {
"description": "Gets the payment with final status", "description": "Gets the payment with final status",
@ -592,91 +622,90 @@
"description": "To list the *payments*", "description": "To list the *payments*",
"operationId": "List all Payments", "operationId": "List all Payments",
"parameters": [ "parameters": [
{
"name": "customer_id",
"in": "query",
"description": "The identifier for the customer",
"required": true,
"schema": {
"type": "string"
}
},
{ {
"name": "starting_after", "name": "starting_after",
"in": "query", "in": "query",
"description": "A cursor for use in pagination, fetch the next list after some object", "description": "A cursor for use in pagination, fetch the next list after some object",
"required": true, "required": false,
"schema": { "schema": {
"type": "string" "type": "string",
"nullable": true
} }
}, },
{ {
"name": "ending_before", "name": "ending_before",
"in": "query", "in": "query",
"description": "A cursor for use in pagination, fetch the previous list before some object", "description": "A cursor for use in pagination, fetch the previous list before some object",
"required": true, "required": false,
"schema": { "schema": {
"type": "string" "type": "string",
"nullable": true
} }
}, },
{ {
"name": "limit", "name": "limit",
"in": "query", "in": "query",
"description": "Limit on the number of objects to return", "description": "Limit on the number of objects to return",
"required": true, "required": false,
"schema": { "schema": {
"type": "integer", "type": "integer",
"format": "int64" "format": "int64",
"nullable": true
} }
}, },
{ {
"name": "created", "name": "created",
"in": "query", "in": "query",
"description": "The time at which payment is created", "description": "The time at which payment is created",
"required": true, "required": false,
"schema": { "schema": {
"type": "string", "type": "string",
"format": "date-time" "format": "date-time",
"nullable": true
} }
}, },
{ {
"name": "created_lt", "name": "created_lt",
"in": "query", "in": "query",
"description": "Time less than the payment created time", "description": "Time less than the payment created time",
"required": true, "required": false,
"schema": { "schema": {
"type": "string", "type": "string",
"format": "date-time" "format": "date-time",
"nullable": true
} }
}, },
{ {
"name": "created_gt", "name": "created_gt",
"in": "query", "in": "query",
"description": "Time greater than the payment created time", "description": "Time greater than the payment created time",
"required": true, "required": false,
"schema": { "schema": {
"type": "string", "type": "string",
"format": "date-time" "format": "date-time",
"nullable": true
} }
}, },
{ {
"name": "created_lte", "name": "created_lte",
"in": "query", "in": "query",
"description": "Time less than or equals to the payment created time", "description": "Time less than or equals to the payment created time",
"required": true, "required": false,
"schema": { "schema": {
"type": "string", "type": "string",
"format": "date-time" "format": "date-time",
"nullable": true
} }
}, },
{ {
"name": "created_gte", "name": "created_gte",
"in": "query", "in": "query",
"description": "Time greater than or equals to the payment created time", "description": "Time greater than or equals to the payment created time",
"required": true, "required": false,
"schema": { "schema": {
"type": "string", "type": "string",
"format": "date-time" "format": "date-time",
"nullable": true
} }
} }
], ],
@ -918,6 +947,17 @@
], ],
"summary": "Payments - Post Session Tokens", "summary": "Payments - Post Session Tokens",
"operationId": "Create Post Session Tokens for a Payment", "operationId": "Create Post Session Tokens for a Payment",
"parameters": [
{
"name": "payment_id",
"in": "path",
"description": "The identifier for payment",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/json": {
@ -957,6 +997,17 @@
], ],
"summary": "Payments - Update Metadata", "summary": "Payments - Update Metadata",
"operationId": "Update Metadata for a Payment", "operationId": "Update Metadata for a Payment",
"parameters": [
{
"name": "payment_id",
"in": "path",
"description": "The identifier for payment",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/json": {
@ -1073,6 +1124,15 @@
"description": "Retrieves a relay details.", "description": "Retrieves a relay details.",
"operationId": "Retrieve a Relay details", "operationId": "Retrieve a Relay details",
"parameters": [ "parameters": [
{
"name": "relay_id",
"in": "path",
"description": "The unique identifier for the Relay",
"required": true,
"schema": {
"type": "string"
}
},
{ {
"name": "X-Profile-Id", "name": "X-Profile-Id",
"in": "header", "in": "header",
@ -1735,6 +1795,17 @@
"summary": "Merchant Connector - Create", "summary": "Merchant Connector - Create",
"description": "Creates a new Merchant Connector for the merchant account. The connector could be a payment processor/facilitator/acquirer or a provider of specialized services like Fraud/Accounting etc.", "description": "Creates a new Merchant Connector for the merchant account. The connector could be a payment processor/facilitator/acquirer or a provider of specialized services like Fraud/Accounting etc.",
"operationId": "Create a Merchant Connector", "operationId": "Create a Merchant Connector",
"parameters": [
{
"name": "account_id",
"in": "path",
"description": "The unique identifier for the merchant account",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/json": {
@ -2286,6 +2357,17 @@
"summary": "Mandates - Customer Mandates List", "summary": "Mandates - Customer Mandates List",
"description": "Lists all the mandates for a particular customer id.", "description": "Lists all the mandates for a particular customer id.",
"operationId": "List Mandates for a Customer", "operationId": "List Mandates for a Customer",
"parameters": [
{
"name": "customer_id",
"in": "path",
"description": "The unique identifier for the customer",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": { "responses": {
"200": { "200": {
"description": "List of retrieved mandates for a customer", "description": "List of retrieved mandates for a customer",
@ -2810,7 +2892,7 @@
], ],
"summary": "List customer saved payment methods for a Payment", "summary": "List customer saved payment methods for a Payment",
"description": "Lists all the applicable payment methods for a particular payment tied to the `client_secret`.", "description": "Lists all the applicable payment methods for a particular payment tied to the `client_secret`.",
"operationId": "List all Payment Methods for a Customer", "operationId": "List Customer Payment Methods via Client Secret",
"parameters": [ "parameters": [
{ {
"name": "client-secret", "name": "client-secret",
@ -2919,7 +3001,7 @@
} }
}, },
"/{customer_id}/payment_methods/{payment_method_id}/default": { "/{customer_id}/payment_methods/{payment_method_id}/default": {
"get": { "post": {
"tags": [ "tags": [
"Payment Methods" "Payment Methods"
], ],
@ -9843,6 +9925,7 @@
"aci", "aci",
"adyen", "adyen",
"airwallex", "airwallex",
"archipel",
"authorizedotnet", "authorizedotnet",
"bambora", "bambora",
"bamboraapac", "bamboraapac",
@ -15979,6 +16062,24 @@
} }
} }
}, },
{
"type": "object",
"required": [
"popup_url",
"type"
],
"properties": {
"popup_url": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"redirect_inside_popup"
]
}
}
},
{ {
"type": "object", "type": "object",
"description": "Informs the next steps for bank transfer and also contains the charges details (ex: amount received, amount charged etc)", "description": "Informs the next steps for bank transfer and also contains the charges details (ex: amount received, amount charged etc)",
@ -16209,7 +16310,8 @@
"trigger_api", "trigger_api",
"display_bank_transfer_information", "display_bank_transfer_information",
"display_wait_screen", "display_wait_screen",
"collect_otp" "collect_otp",
"redirect_inside_popup"
] ]
}, },
"NoThirdPartySdkSessionResponse": { "NoThirdPartySdkSessionResponse": {
@ -16514,6 +16616,9 @@
}, },
"OrganizationUpdateRequest": { "OrganizationUpdateRequest": {
"type": "object", "type": "object",
"required": [
"platform_merchant_id"
],
"properties": { "properties": {
"organization_name": { "organization_name": {
"type": "string", "type": "string",
@ -16531,12 +16636,8 @@
"nullable": true "nullable": true
}, },
"platform_merchant_id": { "platform_merchant_id": {
"allOf": [ "type": "string",
{ "description": "Platform merchant id is unique distiguisher for special merchant in the platform org"
"$ref": "#/components/schemas/id_type.MerchantId"
}
],
"nullable": true
} }
}, },
"additionalProperties": false "additionalProperties": false
@ -19360,6 +19461,11 @@
], ],
"nullable": true "nullable": true
}, },
"is_iframe_redirection_enabled": {
"type": "boolean",
"description": "Indicates if the redirection has to open in the iframe",
"nullable": true
},
"all_keys_required": { "all_keys_required": {
"type": "boolean", "type": "boolean",
"description": "If enabled, provides whole connector response", "description": "If enabled, provides whole connector response",
@ -19778,6 +19884,11 @@
], ],
"nullable": true "nullable": true
}, },
"is_iframe_redirection_enabled": {
"type": "boolean",
"description": "Indicates if the redirection has to open in the iframe",
"nullable": true
},
"all_keys_required": { "all_keys_required": {
"type": "boolean", "type": "boolean",
"description": "If enabled, provides whole connector response", "description": "If enabled, provides whole connector response",
@ -20361,6 +20472,11 @@
"description": "Error message received from the issuer in case of failed payments", "description": "Error message received from the issuer in case of failed payments",
"nullable": true "nullable": true
}, },
"is_iframe_redirection_enabled": {
"type": "boolean",
"description": "Indicates if the redirection has to open in the iframe",
"nullable": true
},
"whole_connector_response": { "whole_connector_response": {
"type": "string", "type": "string",
"description": "Contains whole connector response", "description": "Contains whole connector response",
@ -21069,6 +21185,11 @@
], ],
"nullable": true "nullable": true
}, },
"is_iframe_redirection_enabled": {
"type": "boolean",
"description": "Indicates if the redirection has to open in the iframe",
"nullable": true
},
"all_keys_required": { "all_keys_required": {
"type": "boolean", "type": "boolean",
"description": "If enabled, provides whole connector response", "description": "If enabled, provides whole connector response",
@ -21678,6 +21799,11 @@
"description": "Error message received from the issuer in case of failed payments", "description": "Error message received from the issuer in case of failed payments",
"nullable": true "nullable": true
}, },
"is_iframe_redirection_enabled": {
"type": "boolean",
"description": "Indicates if the redirection has to open in the iframe",
"nullable": true
},
"whole_connector_response": { "whole_connector_response": {
"type": "string", "type": "string",
"description": "Contains whole connector response", "description": "Contains whole connector response",
@ -22229,6 +22355,11 @@
], ],
"nullable": true "nullable": true
}, },
"is_iframe_redirection_enabled": {
"type": "boolean",
"description": "Indicates if the redirection has to open in the iframe",
"nullable": true
},
"all_keys_required": { "all_keys_required": {
"type": "boolean", "type": "boolean",
"description": "If enabled, provides whole connector response", "description": "If enabled, provides whole connector response",
@ -24268,6 +24399,16 @@
} }
], ],
"nullable": true "nullable": true
},
"is_iframe_redirection_enabled": {
"type": "boolean",
"description": "Indicates if the redirection has to open in the iframe",
"nullable": true
},
"is_pre_network_tokenization_enabled": {
"type": "boolean",
"description": "Indicates if pre network tokenization is enabled or not",
"nullable": true
} }
}, },
"additionalProperties": false "additionalProperties": false
@ -24303,7 +24444,8 @@
"is_auto_retries_enabled", "is_auto_retries_enabled",
"is_click_to_pay_enabled", "is_click_to_pay_enabled",
"is_clear_pan_retries_enabled", "is_clear_pan_retries_enabled",
"force_3ds_challenge" "force_3ds_challenge",
"is_pre_network_tokenization_enabled"
], ],
"properties": { "properties": {
"merchant_id": { "merchant_id": {
@ -24545,6 +24687,12 @@
} }
], ],
"nullable": true "nullable": true
},
"is_pre_network_tokenization_enabled": {
"type": "boolean",
"description": "Indicates if pre network tokenization is enabled or not",
"default": false,
"example": false
} }
} }
}, },
@ -25690,6 +25838,7 @@
"aci", "aci",
"adyen", "adyen",
"airwallex", "airwallex",
"archipel",
"authorizedotnet", "authorizedotnet",
"bankofamerica", "bankofamerica",
"billwerk", "billwerk",

View File

@ -52,6 +52,7 @@ pub struct OrganizationUpdateRequest {
pub metadata: Option<pii::SecretSerdeValue>, pub metadata: Option<pii::SecretSerdeValue>,
/// Platform merchant id is unique distiguisher for special merchant in the platform org /// Platform merchant id is unique distiguisher for special merchant in the platform org
#[schema(value_type = String)]
pub platform_merchant_id: Option<id_type::MerchantId>, pub platform_merchant_id: Option<id_type::MerchantId>,
} }
#[cfg(feature = "v1")] #[cfg(feature = "v1")]

View File

@ -66,6 +66,9 @@ pub async fn retrieve_mandates_list() {}
#[utoipa::path( #[utoipa::path(
post, post,
path = "/customers/{customer_id}/mandates", path = "/customers/{customer_id}/mandates",
params(
("customer_id" = String, Path, description = "The unique identifier for the customer")
),
responses( responses(
(status = 200, description = "List of retrieved mandates for a customer", body = Vec<MandateResponse>), (status = 200, description = "List of retrieved mandates for a customer", body = Vec<MandateResponse>),
(status = 400, description = "Invalid Data"), (status = 400, description = "Invalid Data"),

View File

@ -5,6 +5,9 @@
#[utoipa::path( #[utoipa::path(
post, post,
path = "/accounts/{account_id}/connectors", path = "/accounts/{account_id}/connectors",
params(
("account_id" = String, Path, description = "The unique identifier for the merchant account")
),
request_body( request_body(
content = MerchantConnectorCreate, content = MerchantConnectorCreate,
examples( examples(

View File

@ -110,7 +110,7 @@ pub async fn list_customer_payment_method_api() {}
(status = 404, description = "Payment Methods does not exist in records") (status = 404, description = "Payment Methods does not exist in records")
), ),
tag = "Payment Methods", tag = "Payment Methods",
operation_id = "List all Payment Methods for a Customer", operation_id = "List Customer Payment Methods via Client Secret",
security(("publishable_key" = [])) security(("publishable_key" = []))
)] )]
pub async fn list_customer_payment_method_api_client() {} pub async fn list_customer_payment_method_api_client() {}
@ -181,7 +181,7 @@ pub async fn payment_method_delete_api() {}
/// ///
/// Set the Payment Method as Default for the Customer. /// Set the Payment Method as Default for the Customer.
#[utoipa::path( #[utoipa::path(
get, post,
path = "/{customer_id}/payment_methods/{payment_method_id}/default", path = "/{customer_id}/payment_methods/{payment_method_id}/default",
params ( params (
("customer_id" = String,Path, description ="The unique identifier for the Customer"), ("customer_id" = String,Path, description ="The unique identifier for the Customer"),
@ -375,7 +375,7 @@ pub fn payment_method_session_create() {}
#[cfg(feature = "v2")] #[cfg(feature = "v2")]
#[utoipa::path( #[utoipa::path(
get, get,
path = "/v2/payment-method-session/:id", path = "/v2/payment-method-session/{id}",
params ( params (
("id" = String, Path, description = "The unique identifier for the Payment Method Session"), ("id" = String, Path, description = "The unique identifier for the Payment Method Session"),
), ),
@ -396,7 +396,7 @@ pub fn payment_method_session_retrieve() {}
#[cfg(feature = "v2")] #[cfg(feature = "v2")]
#[utoipa::path( #[utoipa::path(
get, get,
path = "/v2/payment-method-session/:id/list-payment-methods", path = "/v2/payment-method-session/{id}/list-payment-methods",
params ( params (
("id" = String, Path, description = "The unique identifier for the Payment Method Session"), ("id" = String, Path, description = "The unique identifier for the Payment Method Session"),
), ),
@ -416,7 +416,7 @@ pub fn payment_method_session_list_payment_methods() {}
#[cfg(feature = "v2")] #[cfg(feature = "v2")]
#[utoipa::path( #[utoipa::path(
put, put,
path = "/v2/payment-method-session/:id/update-saved-payment-method", path = "/v2/payment-method-session/{id}/update-saved-payment-method",
params ( params (
("id" = String, Path, description = "The unique identifier for the Payment Method Session"), ("id" = String, Path, description = "The unique identifier for the Payment Method Session"),
), ),
@ -450,7 +450,7 @@ pub fn payment_method_session_update_saved_payment_method() {}
#[cfg(feature = "v2")] #[cfg(feature = "v2")]
#[utoipa::path( #[utoipa::path(
delete, delete,
path = "/v2/payment-method-session/:id", path = "/v2/payment-method-session/{id}",
params ( params (
("id" = String, Path, description = "The unique identifier for the Payment Method Session"), ("id" = String, Path, description = "The unique identifier for the Payment Method Session"),
), ),
@ -507,7 +507,7 @@ pub async fn tokenize_card_api() {}
(status = 404, description = "Customer not found"), (status = 404, description = "Customer not found"),
), ),
tag = "Payment Methods", tag = "Payment Methods",
operation_id = "Create card network token", operation_id = "Create card network token using Payment Method ID",
security(("admin_api_key" = [])) security(("admin_api_key" = []))
)] )]
pub async fn tokenize_card_using_pm_api() {} pub async fn tokenize_card_using_pm_api() {}
@ -517,7 +517,7 @@ pub async fn tokenize_card_using_pm_api() {}
/// **Confirms a payment method session object with the payment method data** /// **Confirms a payment method session object with the payment method data**
#[utoipa::path( #[utoipa::path(
post, post,
path = "/v2/payment-method-session/:id/confirm", path = "/v2/payment-method-session/{id}/confirm",
params (("id" = String, Path, description = "The unique identifier for the Payment Method Session"), params (("id" = String, Path, description = "The unique identifier for the Payment Method Session"),
( (
"X-Profile-Id" = String, Header, "X-Profile-Id" = String, Header,

View File

@ -219,9 +219,12 @@ pub fn payments_create() {}
get, get,
path = "/payments/{payment_id}", path = "/payments/{payment_id}",
params( params(
("payment_id" = String, Path, description = "The identifier for payment") ("payment_id" = String, Path, description = "The identifier for payment"),
("force_sync" = Option<bool>, Query, description = "Decider to enable or disable the connector call for retrieve request"),
("client_secret" = Option<String>, Query, description = "This is a token which expires after 15 minutes, used from the client to authenticate and create sessions from the SDK"),
("expand_attempts" = Option<bool>, Query, description = "If enabled provides list of attempts linked to payment intent"),
("expand_captures" = Option<bool>, Query, description = "If enabled provides list of captures linked to latest attempt"),
), ),
request_body=PaymentRetrieveBody,
responses( responses(
(status = 200, description = "Gets the payment with final status", body = PaymentsResponse), (status = 200, description = "Gets the payment with final status", body = PaymentsResponse),
(status = 404, description = "No payment found") (status = 404, description = "No payment found")
@ -415,7 +418,7 @@ pub fn payments_connector_session() {}
(status = 400, description = "Missing mandatory fields") (status = 400, description = "Missing mandatory fields")
), ),
tag = "Payments", tag = "Payments",
operation_id = "Create Session tokens for a Payment", operation_id = "Create V2 Session tokens for a Payment",
security(("publishable_key" = [])) security(("publishable_key" = []))
)] )]
pub fn payments_connector_session() {} pub fn payments_connector_session() {}
@ -462,15 +465,15 @@ pub fn payments_cancel() {}
get, get,
path = "/payments/list", path = "/payments/list",
params( params(
("customer_id" = String, Query, description = "The identifier for the customer"), ("customer_id" = Option<String>, Query, description = "The identifier for the customer"),
("starting_after" = String, Query, description = "A cursor for use in pagination, fetch the next list after some object"), ("starting_after" = Option<String>, Query, description = "A cursor for use in pagination, fetch the next list after some object"),
("ending_before" = String, Query, description = "A cursor for use in pagination, fetch the previous list before some object"), ("ending_before" = Option<String>, Query, description = "A cursor for use in pagination, fetch the previous list before some object"),
("limit" = i64, Query, description = "Limit on the number of objects to return"), ("limit" = Option<i64>, Query, description = "Limit on the number of objects to return"),
("created" = PrimitiveDateTime, Query, description = "The time at which payment is created"), ("created" = Option<PrimitiveDateTime>, Query, description = "The time at which payment is created"),
("created_lt" = PrimitiveDateTime, Query, description = "Time less than the payment created time"), ("created_lt" = Option<PrimitiveDateTime>, Query, description = "Time less than the payment created time"),
("created_gt" = PrimitiveDateTime, Query, description = "Time greater than the payment created time"), ("created_gt" = Option<PrimitiveDateTime>, Query, description = "Time greater than the payment created time"),
("created_lte" = PrimitiveDateTime, Query, description = "Time less than or equals to the payment created time"), ("created_lte" = Option<PrimitiveDateTime>, Query, description = "Time less than or equals to the payment created time"),
("created_gte" = PrimitiveDateTime, Query, description = "Time greater than or equals to the payment created time") ("created_gte" = Option<PrimitiveDateTime>, Query, description = "Time greater than or equals to the payment created time")
), ),
responses( responses(
(status = 200, description = "Successfully retrieved a payment list", body = Vec<PaymentListResponse>), (status = 200, description = "Successfully retrieved a payment list", body = Vec<PaymentListResponse>),
@ -587,6 +590,9 @@ pub fn payments_dynamic_tax_calculation() {}
#[utoipa::path( #[utoipa::path(
post, post,
path = "/payments/{payment_id}/post_session_tokens", path = "/payments/{payment_id}/post_session_tokens",
params(
("payment_id" = String, Path, description = "The identifier for payment")
),
request_body=PaymentsPostSessionTokensRequest, request_body=PaymentsPostSessionTokensRequest,
responses( responses(
(status = 200, description = "Post Session Token is done", body = PaymentsPostSessionTokensResponse), (status = 200, description = "Post Session Token is done", body = PaymentsPostSessionTokensResponse),
@ -603,6 +609,9 @@ pub fn payments_post_session_tokens() {}
#[utoipa::path( #[utoipa::path(
post, post,
path = "/payments/{payment_id}/update_metadata", path = "/payments/{payment_id}/update_metadata",
params(
("payment_id" = String, Path, description = "The identifier for payment")
),
request_body=PaymentsUpdateMetadataRequest, request_body=PaymentsUpdateMetadataRequest,
responses( responses(
(status = 200, description = "Metadata updated successfully", body = PaymentsUpdateMetadataResponse), (status = 200, description = "Metadata updated successfully", body = PaymentsUpdateMetadataResponse),

View File

@ -368,7 +368,7 @@ pub async fn routing_retrieve_default_config() {}
(status = 401, description = "Unauthorized request") (status = 401, description = "Unauthorized request")
), ),
tag = "Business Profile", tag = "Business Profile",
operation_id = "List all Merchant Connectors", operation_id = "List all Merchant Connectors for Profile",
security(("admin_api_key" = [])) security(("admin_api_key" = []))
)] )]
#[cfg(feature = "v2")] #[cfg(feature = "v2")]

View File

@ -43,14 +43,11 @@ pub async fn relay() {}
#[utoipa::path( #[utoipa::path(
get, get,
path = "/relay/{relay_id}", path = "/relay/{relay_id}",
params (("id" = String, Path, description = "The unique identifier for the Relay")), params (("relay_id" = String, Path, description = "The unique identifier for the Relay"), ("X-Profile-Id" = String, Header, description = "Profile ID for authentication")),
responses( responses(
(status = 200, description = "Relay Retrieved", body = RelayResponse), (status = 200, description = "Relay Retrieved", body = RelayResponse),
(status = 404, description = "Relay details was not found") (status = 404, description = "Relay details was not found")
), ),
params(
("X-Profile-Id" = String, Header, description = "Profile ID for authentication")
),
tag = "Relay", tag = "Relay",
operation_id = "Retrieve a Relay details", operation_id = "Retrieve a Relay details",
security(("api_key" = []), ("ephemeral_key" = [])) security(("api_key" = []), ("ephemeral_key" = []))

View File

@ -695,7 +695,7 @@ pub async fn connector_list(
(status = 401, description = "Unauthorized request") (status = 401, description = "Unauthorized request")
), ),
tag = "Merchant Connector Account", tag = "Merchant Connector Account",
operation_id = "List all Merchant Connectors", operation_id = "List all Merchant Connectors Admin",
security(("admin_api_key" = [])) security(("admin_api_key" = []))
)] )]
#[cfg(feature = "v1")] #[cfg(feature = "v1")]