{
  "service": "adyen",
  "displayName": "Adyen",
  "categories": [
    "Finance"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "ADYEN_API_KEY",
      "description": "Adyen Management API key sent in the X-API-Key header. Generate or view API keys in your Adyen Customer Area: https://docs.adyen.com/development-resources/api-credentials#generate-api-key",
      "extraFields": [
        {
          "key": "environment",
          "label": "Environment",
          "inputType": "text",
          "required": false,
          "secret": false,
          "placeholder": "test",
          "description": "Adyen Management API environment for this key. Use test for Customer Area test keys or live for live Customer Area keys."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.adyen.com",
  "actions": [
    {
      "id": "adyen.get_api_credential",
      "service": "adyen",
      "name": "get_api_credential",
      "description": "Retrieve details for the Adyen API credential used by this connection.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input parameters for retrieving the current Adyen API credential."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "credential": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The unique identifier of the API credential."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "username": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The API credential username."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "active": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the API credential is enabled."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "companyName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The company name linked to the API credential."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "description": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The API credential description."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "roles": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "An Adyen role name."
                },
                "description": "Roles assigned to the API credential."
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Adyen."
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "username",
              "active",
              "companyName",
              "description",
              "roles",
              "raw"
            ],
            "description": "A normalized Adyen API credential."
          }
        },
        "additionalProperties": false,
        "required": [
          "credential"
        ],
        "description": "The normalized Adyen API credential response."
      }
    },
    {
      "id": "adyen.get_company",
      "service": "adyen",
      "name": "get_company",
      "description": "Retrieve one Adyen company account by ID.",
      "requiredScopes": [
        "Management API—Account read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "An Adyen resource identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "companyId"
        ],
        "description": "Path parameters for retrieving an Adyen company account."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "company": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The unique identifier of the company account."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The legal or trading name of the company."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The status of the company account."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "reference": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Your reference for the company account."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "description": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Your description for the company account."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Adyen."
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "name",
              "status",
              "reference",
              "description",
              "raw"
            ],
            "description": "A normalized Adyen company account."
          }
        },
        "additionalProperties": false,
        "required": [
          "company"
        ],
        "description": "The normalized Adyen company account response."
      }
    },
    {
      "id": "adyen.get_merchant",
      "service": "adyen",
      "name": "get_merchant",
      "description": "Retrieve one Adyen merchant account by ID.",
      "requiredScopes": [
        "Management API—Account read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "merchantId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "An Adyen resource identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "merchantId"
        ],
        "description": "Path parameters for retrieving an Adyen merchant account."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "merchant": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The unique identifier of the merchant account."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The merchant account name when returned by Adyen."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The status of the merchant account."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "reference": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Your reference for the merchant account."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "companyId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The company account identifier linked to the merchant."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Adyen."
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "name",
              "status",
              "reference",
              "companyId",
              "raw"
            ],
            "description": "A normalized Adyen merchant account."
          }
        },
        "additionalProperties": false,
        "required": [
          "merchant"
        ],
        "description": "The normalized Adyen merchant account response."
      }
    },
    {
      "id": "adyen.list_companies",
      "service": "adyen",
      "name": "list_companies",
      "description": "List Adyen company accounts accessible to the API credential.",
      "requiredScopes": [
        "Management API—Account read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number to fetch from Adyen."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include on one page."
          }
        },
        "additionalProperties": false,
        "description": "Pagination parameters for an Adyen list request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "companies": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The unique identifier of the company account."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The legal or trading name of the company."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The status of the company account."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "reference": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Your reference for the company account."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "description": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Your description for the company account."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Adyen."
                }
              },
              "additionalProperties": false,
              "required": [
                "id",
                "name",
                "status",
                "reference",
                "description",
                "raw"
              ],
              "description": "A normalized Adyen company account."
            },
            "description": "Company accounts returned by Adyen."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "itemsTotal": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of items when returned by Adyen."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "pagesTotal": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of pages when returned by Adyen."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "links": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "Pagination links returned by Adyen."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "itemsTotal",
              "pagesTotal",
              "links"
            ],
            "description": "Pagination metadata returned by Adyen."
          }
        },
        "additionalProperties": false,
        "required": [
          "companies",
          "pagination"
        ],
        "description": "The normalized Adyen company account list response."
      }
    },
    {
      "id": "adyen.list_company_merchants",
      "service": "adyen",
      "name": "list_company_merchants",
      "description": "List merchant accounts under an Adyen company account.",
      "requiredScopes": [
        "Management API—Account read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "An Adyen resource identifier."
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number to fetch from Adyen."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include on one page."
          }
        },
        "additionalProperties": false,
        "required": [
          "companyId"
        ],
        "description": "Path and pagination parameters for listing Adyen company merchant accounts."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "merchants": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The unique identifier of the merchant account."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The merchant account name when returned by Adyen."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The status of the merchant account."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "reference": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Your reference for the merchant account."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "companyId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The company account identifier linked to the merchant."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Adyen."
                }
              },
              "additionalProperties": false,
              "required": [
                "id",
                "name",
                "status",
                "reference",
                "companyId",
                "raw"
              ],
              "description": "A normalized Adyen merchant account."
            },
            "description": "Merchant accounts returned by Adyen."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "itemsTotal": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of items when returned by Adyen."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "pagesTotal": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of pages when returned by Adyen."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "links": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "Pagination links returned by Adyen."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "itemsTotal",
              "pagesTotal",
              "links"
            ],
            "description": "Pagination metadata returned by Adyen."
          }
        },
        "additionalProperties": false,
        "required": [
          "merchants",
          "pagination"
        ],
        "description": "The normalized Adyen company merchant account list response."
      }
    },
    {
      "id": "adyen.list_merchants",
      "service": "adyen",
      "name": "list_merchants",
      "description": "List Adyen merchant accounts accessible to the API credential.",
      "requiredScopes": [
        "Management API—Account read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number to fetch from Adyen."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include on one page."
          }
        },
        "additionalProperties": false,
        "description": "Pagination parameters for an Adyen list request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "merchants": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The unique identifier of the merchant account."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The merchant account name when returned by Adyen."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The status of the merchant account."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "reference": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Your reference for the merchant account."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "companyId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The company account identifier linked to the merchant."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Adyen."
                }
              },
              "additionalProperties": false,
              "required": [
                "id",
                "name",
                "status",
                "reference",
                "companyId",
                "raw"
              ],
              "description": "A normalized Adyen merchant account."
            },
            "description": "Merchant accounts returned by Adyen."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "itemsTotal": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of items when returned by Adyen."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "pagesTotal": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of pages when returned by Adyen."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "links": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "Pagination links returned by Adyen."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "itemsTotal",
              "pagesTotal",
              "links"
            ],
            "description": "Pagination metadata returned by Adyen."
          }
        },
        "additionalProperties": false,
        "required": [
          "merchants",
          "pagination"
        ],
        "description": "The normalized Adyen merchant account list response."
      }
    }
  ]
}
