API Specs
Quick Start to build a Spec
name: "Example API"
description: "Simple API to get user data"
defaults:
state:
base_url: https://api.example.com/v1
request:
headers:
Accept: "application/json"
Authorization: "Bearer {secrets.api_token}" # read from env.yaml secrets section
endpoints:
users:
description: "Retrieve list of users"
docs: https://docs.example.com/users # docs url for endpoint
disabled: false # Set to true to temporarily disable
# State variables control request parameters and track values between runs
state:
page: 1 # Start at page 1
limit: 100 # Fetch 100 records per request
request:
# Will resolve to https://api.example.com/v1/users
url: '{state.base_url}/users'
parameters:
page: '{state.page}'
limit: '{state.limit}'
# Control how to fetch next pages
pagination:
next_state:
page: '{state.page + 1}' # Increment page number for next request
stop_condition: "length(response.records) < state.limit" # Stop when page isn't full
# Define how to extract and process response data
response:
records:
jmespath: "data.users[]" # Extract array of users from response
primary_key: ["id"] # Use 'id' field to deduplicate recordsOfficial Specs
Forking Official Specs
API Spec Documentation
API Workflow Overview
Common Use Cases
Use Case
Key Features
Last updated
Was this helpful?