{
  "service": "anrok",
  "displayName": "Anrok",
  "categories": [
    "Finance",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "sxxx/saxxx/secret.xxx",
      "description": "Anrok API key sent with the Authorization Bearer header. Create or view API keys in Anrok: https://app.anrok.com/-/api-keys."
    }
  ],
  "homepageUrl": "https://www.anrok.com",
  "actions": [
    {
      "id": "anrok.get_customer",
      "service": "anrok",
      "name": "get_customer",
      "description": "Retrieve one Anrok customer by customer ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "customerId": {
            "type": "string",
            "minLength": 1,
            "description": "The unique customer identifier in Anrok.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "required": [
          "customerId"
        ],
        "description": "The input payload for retrieving one Anrok customer."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique customer identifier in Anrok.",
            "pattern": "\\S"
          },
          "name": {
            "type": "string",
            "description": "The display name of the customer."
          },
          "emailAddress": {
            "anyOf": [
              {
                "type": "string",
                "description": "The email address of the customer."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": true,
        "description": "An Anrok customer."
      }
    },
    {
      "id": "anrok.get_product",
      "service": "anrok",
      "name": "get_product",
      "description": "Retrieve one Anrok product by external ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "externalId": {
            "type": "string",
            "minLength": 1,
            "description": "The external product ID to look up in Anrok.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "required": [
          "externalId"
        ],
        "description": "The input payload for retrieving one Anrok product."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "externalId": {
            "type": "string",
            "minLength": 1,
            "description": "The product external ID.",
            "pattern": "\\S"
          },
          "taxCategoryId": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "standard",
                  "custom"
                ],
                "description": "Whether the product tax category is standard or custom."
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The Anrok product tax category ID.",
                "pattern": "\\S"
              }
            },
            "additionalProperties": false,
            "description": "An Anrok product tax category identifier."
          },
          "name": {
            "type": "string",
            "description": "The product display name."
          },
          "description": {
            "type": "string",
            "description": "The product description."
          }
        },
        "additionalProperties": true,
        "description": "An Anrok product."
      }
    },
    {
      "id": "anrok.list_customers",
      "service": "anrok",
      "name": "list_customers",
      "description": "List Anrok customers with cursor pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The Anrok cursor returned as nextCursor from the previous page.",
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of customers to return."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Anrok customers."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "customers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The unique customer identifier in Anrok.",
                  "pattern": "\\S"
                },
                "name": {
                  "type": "string",
                  "description": "The display name of the customer."
                },
                "emailAddress": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The email address of the customer."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": true,
              "description": "An Anrok customer."
            },
            "description": "The Anrok customers returned on this page."
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether Anrok has more records after this page."
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor to use for the next page, or null when there are no more pages."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Anrok customers."
      }
    },
    {
      "id": "anrok.list_filings",
      "service": "anrok",
      "name": "list_filings",
      "description": "List Anrok filings with optional cursor pagination and filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The Anrok cursor returned as nextCursor from the previous page.",
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of filings to return."
          },
          "filter": {
            "type": "object",
            "properties": {
              "jurisId": {
                "type": "string",
                "minLength": 1,
                "description": "The jurisdiction ID to filter by.",
                "pattern": "\\S"
              },
              "periodEndDateRangeInclusive": {
                "type": "string",
                "minLength": 1,
                "description": "The filing period end date range to filter by, such as 2025-01..2025-03.",
                "pattern": "\\S"
              }
            },
            "additionalProperties": false,
            "description": "The filter to apply to returned filings."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Anrok filings."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "filings": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "jurisId": {
                  "type": "string",
                  "description": "The filing jurisdiction ID."
                },
                "jurisFilingId": {
                  "type": "string",
                  "description": "The filing identifier within the jurisdiction."
                },
                "name": {
                  "type": "string",
                  "description": "The filing name."
                },
                "isFiled": {
                  "type": "boolean",
                  "description": "Whether the filing has been filed."
                },
                "isAutomaticallyUpdatedForTransactionChanges": {
                  "type": "boolean",
                  "description": "Whether Anrok automatically updates the filing for transaction changes."
                },
                "period": {
                  "type": "object",
                  "properties": {
                    "begin": {
                      "type": "string",
                      "description": "The beginning date of the filing period.",
                      "format": "date"
                    },
                    "endInclusive": {
                      "type": "string",
                      "description": "The inclusive end date of the filing period.",
                      "format": "date"
                    }
                  },
                  "additionalProperties": true,
                  "description": "The filing period."
                }
              },
              "additionalProperties": true,
              "description": "An Anrok filing."
            },
            "description": "The Anrok filings returned on this page."
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether Anrok has more records after this page."
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor to use for the next page, or null when there are no more pages."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Anrok filings."
      }
    },
    {
      "id": "anrok.list_product_mappings",
      "service": "anrok",
      "name": "list_product_mappings",
      "description": "List Product ID mappings for one Anrok integration.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "integrationId": {
            "type": "string",
            "minLength": 1,
            "description": "The Anrok integration ID whose mappings should be listed.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "required": [
          "integrationId"
        ],
        "description": "The input payload for listing Anrok product mappings."
      },
      "outputSchema": {
        "type": "array",
        "items": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "description": "The mapped ID."
          },
          "description": "A Product ID mapping from billing-system IDs to Anrok IDs."
        },
        "description": "The Product ID mapping objects returned by Anrok."
      }
    },
    {
      "id": "anrok.list_product_tax_categories",
      "service": "anrok",
      "name": "list_product_tax_categories",
      "description": "List product tax categories available on the Anrok seller account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for listing Anrok product tax categories."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "productTaxCategories": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "standard",
                        "custom"
                      ],
                      "description": "Whether the product tax category is standard or custom."
                    },
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The Anrok product tax category ID.",
                      "pattern": "\\S"
                    }
                  },
                  "additionalProperties": false,
                  "description": "An Anrok product tax category identifier."
                },
                "name": {
                  "type": "string",
                  "description": "The display name of the product tax category."
                }
              },
              "additionalProperties": false,
              "description": "An Anrok product tax category."
            },
            "description": "The Anrok product tax categories available on the seller account."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Anrok product tax categories."
      }
    },
    {
      "id": "anrok.list_transactions",
      "service": "anrok",
      "name": "list_transactions",
      "description": "List Anrok transactions with optional cursor pagination and filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The Anrok cursor returned as nextCursor from the previous page.",
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "description": "The maximum number of transactions to return."
          },
          "filter": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "type": {
                    "const": "lastModifiedAfter",
                    "type": "string",
                    "description": "The transaction filter type."
                  },
                  "value": {
                    "type": "string",
                    "description": "Only return transactions last modified after this UTC timestamp.",
                    "format": "date-time"
                  }
                },
                "additionalProperties": false,
                "description": "Filter transactions by the time they were last modified in Anrok."
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "const": "filingInfo",
                    "type": "string",
                    "description": "The transaction filter type."
                  },
                  "value": {
                    "type": "object",
                    "properties": {
                      "filingAssociationStatus": {
                        "type": "string",
                        "enum": [
                          "associated"
                        ],
                        "description": "The filing association status to match."
                      },
                      "jurisFilingId": {
                        "type": "string",
                        "minLength": 1,
                        "description": "The jurisdiction filing ID to match.",
                        "pattern": "\\S"
                      },
                      "jurisId": {
                        "type": "string",
                        "minLength": 1,
                        "description": "The jurisdiction ID to match.",
                        "pattern": "\\S"
                      }
                    },
                    "additionalProperties": false,
                    "required": [
                      "jurisFilingId",
                      "jurisId"
                    ],
                    "description": "The filing association filter value."
                  }
                },
                "additionalProperties": false,
                "description": "Filter transactions by filing association information."
              }
            ],
            "description": "The filter to apply to returned transactions."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Anrok transactions."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "transactions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The Anrok transaction ID."
                },
                "type": {
                  "type": "string",
                  "description": "The Anrok transaction type."
                },
                "anrokCreatedTime": {
                  "type": "string",
                  "description": "The timestamp when the transaction was created in Anrok.",
                  "format": "date-time"
                },
                "anrokModifiedTime": {
                  "type": "string",
                  "description": "The timestamp when the transaction was last modified in Anrok.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "An Anrok transaction."
            },
            "description": "The Anrok transactions returned on this page."
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether Anrok has more records after this page."
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor to use for the next page, or null when there are no more pages."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Anrok transactions."
      }
    }
  ]
}
