{
  "service": "easypost",
  "displayName": "EasyPost",
  "categories": [
    "Productivity",
    "Location"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "EASYPOST_API_KEY",
      "description": "EasyPost API key used as the Basic authentication username. Create or manage keys in EasyPost account settings: https://app.easypost.com/account/settings?tab=api-keys"
    }
  ],
  "homepageUrl": "https://www.easypost.com/",
  "actions": [
    {
      "id": "easypost.create_address",
      "service": "easypost",
      "name": "create_address",
      "description": "Create an immutable EasyPost address for shipping workflows.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "street1": {
            "type": "string",
            "minLength": 1,
            "description": "The first line of the address."
          },
          "street2": {
            "type": "string",
            "minLength": 1,
            "description": "The second line of the address."
          },
          "city": {
            "type": "string",
            "minLength": 1,
            "description": "The full city name."
          },
          "state": {
            "type": "string",
            "minLength": 1,
            "description": "The state or province."
          },
          "zip": {
            "type": "string",
            "minLength": 1,
            "description": "The ZIP or postal code."
          },
          "country": {
            "type": "string",
            "minLength": 1,
            "description": "The ISO 3166 country code."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The person name for the address."
          },
          "company": {
            "type": "string",
            "minLength": 1,
            "description": "The organization name for the address."
          },
          "phone": {
            "type": "string",
            "minLength": 1,
            "description": "The phone number for the person or organization."
          },
          "email": {
            "type": "string",
            "description": "The email address for the person or organization.",
            "format": "email"
          },
          "residential": {
            "type": "boolean",
            "description": "Whether the address should be treated as residential."
          },
          "carrier_facility": {
            "type": "string",
            "minLength": 1,
            "description": "The carrier facility designation when relevant."
          },
          "federal_tax_id": {
            "type": "string",
            "minLength": 1,
            "description": "The federal tax identifier for the person or organization."
          },
          "state_tax_id": {
            "type": "string",
            "minLength": 1,
            "description": "The state tax identifier for the person or organization."
          },
          "verify": {
            "type": "boolean",
            "description": "Set true to request EasyPost delivery and ZIP verification."
          },
          "verify_strict": {
            "type": "boolean",
            "description": "Set true to request strict EasyPost delivery and ZIP verification."
          },
          "verify_carrier": {
            "type": "string",
            "enum": [
              "ups",
              "fedex"
            ],
            "description": "The carrier-specific address verification service to use."
          }
        },
        "additionalProperties": false,
        "required": [
          "street1",
          "city",
          "state",
          "zip",
          "country"
        ],
        "description": "The EasyPost address fields to create."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A JSON object returned by EasyPost."
          }
        },
        "additionalProperties": false,
        "description": "The response returned after creating an EasyPost address."
      }
    },
    {
      "id": "easypost.create_tracker",
      "service": "easypost",
      "name": "create_tracker",
      "description": "Create an EasyPost standalone tracker from a carrier tracking code.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "tracking_code": {
            "type": "string",
            "minLength": 1,
            "description": "The tracking code associated with the package."
          },
          "carrier": {
            "type": "string",
            "minLength": 1,
            "description": "The carrier associated with the tracking code."
          }
        },
        "additionalProperties": false,
        "required": [
          "tracking_code"
        ],
        "description": "The EasyPost standalone tracker fields to create."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tracker": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A JSON object returned by EasyPost."
          }
        },
        "additionalProperties": false,
        "description": "The response returned after creating an EasyPost tracker."
      }
    },
    {
      "id": "easypost.get_address",
      "service": "easypost",
      "name": "get_address",
      "description": "Retrieve an EasyPost address by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address_id": {
            "type": "string",
            "minLength": 1,
            "description": "The EasyPost resource ID."
          }
        },
        "additionalProperties": false,
        "description": "The input for retrieving an EasyPost address."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A JSON object returned by EasyPost."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving an EasyPost address."
      }
    },
    {
      "id": "easypost.get_tracker",
      "service": "easypost",
      "name": "get_tracker",
      "description": "Retrieve an EasyPost tracker by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "tracker_id": {
            "type": "string",
            "minLength": 1,
            "description": "The EasyPost resource ID."
          }
        },
        "additionalProperties": false,
        "description": "The input for retrieving an EasyPost tracker."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tracker": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A JSON object returned by EasyPost."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving an EasyPost tracker."
      }
    },
    {
      "id": "easypost.list_carrier_types",
      "service": "easypost",
      "name": "list_carrier_types",
      "description": "List carrier types available to the EasyPost account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input for listing EasyPost carrier types."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "carrierTypes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A JSON object returned by EasyPost."
            },
            "description": "The EasyPost carrier types available to the account."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing EasyPost carrier types."
      }
    },
    {
      "id": "easypost.list_trackers",
      "service": "easypost",
      "name": "list_trackers",
      "description": "List EasyPost trackers with pagination and optional carrier filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "before_id": {
            "type": "string",
            "minLength": 1,
            "description": "The EasyPost resource ID."
          },
          "after_id": {
            "type": "string",
            "minLength": 1,
            "description": "The EasyPost resource ID."
          },
          "page_size": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of records to return on each page."
          },
          "start_datetime": {
            "type": "string",
            "description": "Only return trackers created after this timestamp.",
            "format": "date-time"
          },
          "end_datetime": {
            "type": "string",
            "description": "Only return trackers created before this timestamp.",
            "format": "date-time"
          },
          "tracking_codes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One carrier tracking code."
            },
            "description": "Only return trackers with these tracking codes.",
            "minItems": 1
          },
          "carrier": {
            "type": "string",
            "minLength": 1,
            "description": "Only return trackers with this carrier."
          }
        },
        "additionalProperties": false,
        "description": "The filters and pagination parameters for listing EasyPost trackers."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "trackers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A JSON object returned by EasyPost."
            },
            "description": "The EasyPost trackers returned for the page."
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether another page of trackers is available."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A JSON object returned by EasyPost."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing EasyPost trackers."
      }
    }
  ]
}
