{
  "service": "simla",
  "displayName": "Simla.com",
  "categories": [
    "Marketing",
    "Productivity"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "simla_api_key",
      "description": "Simla API key sent with the X-API-KEY request header. Create or view keys in the Integration section under API access keys: https://docs.simla.com/Users/Integration/APIEditing.",
      "extraFields": [
        {
          "key": "apiBaseUrl",
          "label": "API Base URL",
          "inputType": "text",
          "required": true,
          "secret": false,
          "placeholder": "https://your-account.simla.com",
          "description": "Your Simla account base URL, for example https://demo.simla.com. The connector appends /api/v5 paths automatically: https://docs.simla.com/Developers/API/APIFeatures/APIRules."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.simla.com/en",
  "actions": [
    {
      "id": "simla.create_customer",
      "service": "simla",
      "name": "create_customer",
      "description": "Create a Simla customer using the official customer payload object.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "site": {
            "type": "string",
            "minLength": 1,
            "description": "Optional Simla store symbolic code."
          },
          "customer": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Entity fields passed to Simla."
          }
        },
        "additionalProperties": false,
        "required": [
          "customer"
        ],
        "description": "Request parameters for creating a Simla customer."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Simla reported a successful request."
          },
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Internal ID of the created customer."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Simla response payload."
          }
        },
        "additionalProperties": false,
        "description": "Simla customer creation response."
      }
    },
    {
      "id": "simla.create_order",
      "service": "simla",
      "name": "create_order",
      "description": "Create a Simla order using the official order payload object.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "site": {
            "type": "string",
            "minLength": 1,
            "description": "Optional Simla store symbolic code."
          },
          "order": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Entity fields passed to Simla."
          }
        },
        "additionalProperties": false,
        "required": [
          "order"
        ],
        "description": "Request parameters for creating a Simla order."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Simla reported a successful request."
          },
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Internal ID of the created order."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Simla response payload."
          }
        },
        "additionalProperties": false,
        "description": "Simla order creation response."
      }
    },
    {
      "id": "simla.edit_customer",
      "service": "simla",
      "name": "edit_customer",
      "description": "Edit a Simla customer by internal ID or external ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Customer internal ID or external ID."
          },
          "by": {
            "type": "string",
            "enum": [
              "externalId",
              "id"
            ],
            "description": "Which identifier type is supplied in the id field."
          },
          "site": {
            "type": "string",
            "minLength": 1,
            "description": "Optional Simla store symbolic code."
          },
          "customer": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Entity fields passed to Simla."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "customer"
        ],
        "description": "Request parameters for editing a Simla customer."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Simla reported a successful request."
          },
          "id": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "Internal ID of the edited customer when Simla returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Simla response payload."
          }
        },
        "additionalProperties": false,
        "description": "Simla customer editing response."
      }
    },
    {
      "id": "simla.edit_order",
      "service": "simla",
      "name": "edit_order",
      "description": "Edit a Simla order by internal ID or external ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Order internal ID or external ID."
          },
          "by": {
            "type": "string",
            "enum": [
              "externalId",
              "id"
            ],
            "description": "Which identifier type is supplied in the id field."
          },
          "site": {
            "type": "string",
            "minLength": 1,
            "description": "Optional Simla store symbolic code."
          },
          "order": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Entity fields passed to Simla."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "order"
        ],
        "description": "Request parameters for editing a Simla order."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Simla reported a successful request."
          },
          "id": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "Internal ID of the edited order when Simla returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Simla response payload."
          }
        },
        "additionalProperties": false,
        "description": "Simla order editing response."
      }
    },
    {
      "id": "simla.get_customer",
      "service": "simla",
      "name": "get_customer",
      "description": "Get full Simla customer information by internal ID or external ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Customer internal ID or external ID."
          },
          "by": {
            "type": "string",
            "enum": [
              "externalId",
              "id"
            ],
            "description": "Which identifier type is supplied in the id field."
          },
          "site": {
            "type": "string",
            "minLength": 1,
            "description": "Optional Simla store symbolic code."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Request parameters for reading one Simla customer."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Simla reported a successful request."
          },
          "customer": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Simla object payload."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Simla response payload."
          }
        },
        "additionalProperties": false,
        "description": "Simla customer response."
      }
    },
    {
      "id": "simla.get_order",
      "service": "simla",
      "name": "get_order",
      "description": "Get full Simla order information by internal ID or external ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Order internal ID or external ID."
          },
          "by": {
            "type": "string",
            "enum": [
              "externalId",
              "id"
            ],
            "description": "Which identifier type is supplied in the id field."
          },
          "site": {
            "type": "string",
            "minLength": 1,
            "description": "Optional Simla store symbolic code."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Request parameters for reading one Simla order."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Simla reported a successful request."
          },
          "order": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Simla object payload."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Simla response payload."
          }
        },
        "additionalProperties": false,
        "description": "Simla order response."
      }
    },
    {
      "id": "simla.get_order_statuses",
      "service": "simla",
      "name": "get_order_statuses",
      "description": "Get Simla status information for orders by internal IDs or external IDs.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "description": "Internal ID."
            },
            "description": "Simla internal numeric identifiers."
          },
          "externalIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "External ID."
            },
            "description": "Simla external identifiers."
          }
        },
        "additionalProperties": false,
        "description": "Request parameters for reading Simla order statuses."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Simla reported a successful request."
          },
          "orders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Raw Simla object payload."
            },
            "description": "Order status items returned by Simla."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Simla response payload."
          }
        },
        "additionalProperties": false,
        "description": "Simla order statuses response."
      }
    },
    {
      "id": "simla.list_customers",
      "service": "simla",
      "name": "list_customers",
      "description": "List Simla customers with optional pagination and filter parameters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Number of records to return. Simla accepts only 20, 50, or 100.",
            "enum": [
              20,
              50,
              100
            ]
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "One-based page number to request."
          },
          "filter": {
            "type": "object",
            "additionalProperties": {
              "description": "Filter value passed through to Simla."
            },
            "description": "Filter object encoded as Simla filter[...] query parameters."
          }
        },
        "additionalProperties": false,
        "description": "Request parameters for listing Simla customers."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Simla reported a successful request."
          },
          "customers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Raw Simla object payload."
            },
            "description": "Customers returned by Simla."
          },
          "pagination": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Simla pagination metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Simla response payload."
          }
        },
        "additionalProperties": false,
        "description": "Paginated Simla customers response."
      }
    },
    {
      "id": "simla.list_orders",
      "service": "simla",
      "name": "list_orders",
      "description": "List Simla orders with optional pagination and filter parameters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Number of records to return. Simla accepts only 20, 50, or 100.",
            "enum": [
              20,
              50,
              100
            ]
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "One-based page number to request."
          },
          "filter": {
            "type": "object",
            "additionalProperties": {
              "description": "Filter value passed through to Simla."
            },
            "description": "Filter object encoded as Simla filter[...] query parameters."
          }
        },
        "additionalProperties": false,
        "description": "Request parameters for listing Simla orders."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Simla reported a successful request."
          },
          "orders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Raw Simla object payload."
            },
            "description": "Orders returned by Simla."
          },
          "pagination": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Simla pagination metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Simla response payload."
          }
        },
        "additionalProperties": false,
        "description": "Paginated Simla orders response."
      }
    }
  ]
}
