openapi: 3.1.0
info:
title: Curl HTTP Request
description: Send an HTTP request to any URL from our servers and receive the full response — including the status code,
all response headers, and the body content. Supports GET, POST, PUT, PATCH, DELETE, and HEAD. Automatically follows up
to 3 redirects. Useful for testing endpoints, verifying servers are responding correctly, debugging redirect chains, or
fetching raw data without needing a local setup.
version: 1.0.0
contact:
name: _done
url: https://forms.gle/5KzuSFH7p8hHtDmz7
email: info@underscoredone.com
x-openapi-url: https://curl-http-request.underscoredone.com/openapi.json
x-logo:
url: https://underscoredone.com/logo.png
altText: _done
x-guidance: Send a JSON body with a 'url' (required, must start with http:// or https://) and an optional 'method' field
(defaults to GET). The response includes 'statusCode' (integer), 'headers' (object of key-value strings), 'body' (string,
may be HTML, JSON, or plain text), 'durationMs' (how long the request took in milliseconds), and 'error' (null on success,
or a plain-English message if the request could not be completed). Do not use this for private or internal network addresses.
Redirects are followed automatically up to 3 times. If the target server is unreachable or times out, a 400 error is returned
with a description of what went wrong.
x-ai-instructions: Send a JSON body with a 'url' (required, must start with http:// or https://) and an optional 'method'
field (defaults to GET). The response includes 'statusCode' (integer), 'headers' (object of key-value strings), 'body'
(string, may be HTML, JSON, or plain text), 'durationMs' (how long the request took in milliseconds), and 'error' (null
on success, or a plain-English message if the request could not be completed). Do not use this for private or internal
network addresses. Redirects are followed automatically up to 3 times. If the target server is unreachable or times out,
a 400 error is returned with a description of what went wrong.
x-provider: _done — single-purpose utility APIs for developers and AI agents. Pay per call with USDC on Base Mainnet or
Solana Mainnet.
x-pricing:
model: pay-per-call
currency: USDC
network: Base Mainnet or Solana Mainnet
price: $0.01
x-keywords:
- network
- curl
- http request
- fetch url
- check endpoint
- status code
- response headers
- redirect follow
- api tester
- debug server
- utility
- api
- ai-agent
- pay-per-call
- usdc
- x402
x-category: http request
x-provider-url: https://underscoredone.com
x-agentcash-auth:
mode: paid
x-402:
price: $0.01
network: eip155:8453
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
pay_to: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08'
facilitator: https://api.cdp.coinbase.com/platform/v2/x402
scheme: exact
description: Send an HTTP request to any URL from our servers and receive the full response — including the status code,
all response headers, and the body content. Supports GET, POST, PUT, PATCH, DELETE, and HEAD. Automatically follows
up to 3 redirects. Useful for testing endpoints, verifying servers are responding correctly, debugging redirect chains,
or fetching raw data without needing a local setup.
mime_type: application/json
networks:
- network: eip155:8453
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
pay_to: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08'
- network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
pay_to: 8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b
paths:
/curl:
post:
tags:
- http request
- curl
- fetch url
- make http request
- http client
- api testing
- send http request
- rest client
- get post request
- follow redirects
- http get
- web request
- fetch raw response
- test endpoint
- http fetch
summary: Fetch any URL from the cloud and return its full response.
description: Send an HTTP request to the given web address from our servers and return the full response including status,
headers, and body.
operationId: handler_curl_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Request'
required: true
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
examples:
success:
summary: Successful response
value:
api_version: 1.0.0
url: https://httpbin.org/get
method: GET
statusCode: 200
headers:
content-type: application/json
content-length: '307'
server: gunicorn/19.9.0
body: "{\n \"args\": {}, \n \"headers\": {\n \"Host\": \"httpbin.org\"\n }, \n \"url\": \"https://httpbin.org/get\"\
\n}"
durationMs: 312
redirectChain: []
error: null
'422':
description: Unprocessable — a required field is missing or the wrong type. Check the detail field for specifics.
content:
application/json:
schema:
type: object
properties:
detail:
type: array
'402':
description: Payment required. Send a signed USDC payment on Base Mainnet or Solana Mainnet using the x402 protocol.
headers:
X-Payment-Response:
description: x402 payment challenge — base64-encoded JSON with payment details.
schema:
type: string
'400':
description: Bad request — your input failed validation or could not be processed. Check the detail field for specifics.
content:
application/json:
schema:
type: object
properties:
detail:
type: string
x-ai-instructions: Send a JSON body with a 'url' (required, must start with http:// or https://) and an optional 'method'
field (defaults to GET). The response includes 'statusCode' (integer), 'headers' (object of key-value strings), 'body'
(string, may be HTML, JSON, or plain text), 'durationMs' (how long the request took in milliseconds), and 'error'
(null on success, or a plain-English message if the request could not be completed). Do not use this for private or
internal network addresses. Redirects are followed automatically up to 3 times. If the target server is unreachable
or times out, a 400 error is returned with a description of what went wrong.
x-guidance: Send a JSON body with a 'url' (required, must start with http:// or https://) and an optional 'method' field
(defaults to GET). The response includes 'statusCode' (integer), 'headers' (object of key-value strings), 'body' (string,
may be HTML, JSON, or plain text), 'durationMs' (how long the request took in milliseconds), and 'error' (null on
success, or a plain-English message if the request could not be completed). Do not use this for private or internal
network addresses. Redirects are followed automatically up to 3 times. If the target server is unreachable or times
out, a 400 error is returned with a description of what went wrong.
x-payment-info:
price:
fixed:
mode: fixed
currency: USD
amount: '0.01'
protocols:
- x402: {}
components:
schemas:
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
Request:
properties:
url:
type: string
maxLength: 8192
title: Url
description: The full web address you want to send a request to. Must start with http:// or https://.
method:
type: string
title: Method
description: The type of request to make. Choose from GET, POST, PUT, PATCH, DELETE, or HEAD. Defaults to GET if
not provided.
default: GET
type: object
required:
- url
title: Request
example:
method: GET
url: https://httpbin.org/get
Response:
properties:
api_version:
type: string
title: Api Version
description: API version
default: 1.0.0
url:
type: string
title: Url
description: The web address that was requested.
method:
type: string
title: Method
description: The request type that was used.
statusCode:
type: integer
title: Statuscode
description: The numeric status code returned by the server (for example, 200 means success, 404 means not found).
headers:
additionalProperties:
type: string
type: object
title: Headers
description: All the response headers sent back by the server, as key-value pairs.
body:
type: string
title: Body
description: The full text body returned by the server. May be HTML, JSON, plain text, or empty for HEAD requests.
durationMs:
type: integer
title: Durationms
description: How long the request took in milliseconds from start to finish.
redirectChain:
items:
type: string
type: array
title: Redirectchain
description: The list of URLs visited during any automatic redirects, from the first address through to the final
destination.
error:
anyOf:
- type: string
- type: 'null'
title: Error
description: Null if the request succeeded. A plain-English description of what went wrong if the request could
not be completed.
type: object
required:
- url
- method
- statusCode
- headers
- body
- durationMs
- redirectChain
title: Response
example:
api_version: 1.0.0
body: "{\n \"args\": {}, \n \"url\": \"https://httpbin.org/get\"\n}"
durationMs: 312
headers:
content-length: '307'
content-type: application/json
server: gunicorn/19.9.0
method: GET
redirectChain: []
statusCode: 200
url: https://httpbin.org/get
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
securitySchemes:
siwx:
type: apiKey
in: header
name: SIGN-IN-WITH-X
description: CAIP-122 wallet signature for repeat access after payment
servers:
- url: https://curl-http-request.underscoredone.com
description: Production
tags:
- name: http request
- name: curl
- name: fetch url
- name: make http request
- name: http client
- name: api testing
- name: send http request
- name: rest client
- name: get post request
- name: follow redirects
- name: http get
- name: web request
- name: fetch raw response
- name: test endpoint
- name: http fetch
x402Version: 2
x-payment-accepts:
- scheme: exact
network: eip155:8453
payTo: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08'
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
- scheme: exact
network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
payTo: 8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b
asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v