Skip to content
Browse the docs

GET /appsumo/callback

AppSumo OAuth redirect.

A request with no code answers 200 so the portal can save the URL. Any other query parameter is ignored.

Request

The same call in curl, Node and Python. A path id in the sample is a placeholder.

curl

curl -sS -X GET https://api.agentisend.com/appsumo/callback \
  -H "Authorization: Bearer $AGENTISEND_API_KEY"

Node

import { AgentiSend } from 'agentisend';

const client = new AgentiSend(process.env.AGENTISEND_API_KEY);
const result = await client.request({
  method: 'GET',
  path: '/appsumo/callback',
});

Python

import json, os, urllib.request

url = 'https://api.agentisend.com/appsumo/callback'
headers = {'Authorization': 'Bearer ' + os.environ['AGENTISEND_API_KEY']}
request = urllib.request.Request(url, headers=headers, method='GET')
print(urllib.request.urlopen(request).read().decode())

Tag: appsumo. Generated from openapi.json; the anchor get-appsumo-callback is the id the console's error fix links point at.

Parameters

This operation takes no parameters.

Responses

  • 200 — Success
  • 404 — Nothing with this id exists on the account. Codes: billing_customer_missing, not_found, session_expired, support_ticket_not_found.
  • 429 — A rate, quota or ramp ceiling was reached. Codes: onboarding_daily_cap_reached, trust_throttled, invite_limit_reached, rate_ceiling_exceeded, daily_quota_exceeded, monthly_quota_exceeded, rate_limit_exceeded, support_rate_limited, appsumo_lookup_limited.
  • 500 — Something failed on our side. Codes: internal_server_error.

Response headers

  • ratelimit-limit — Messages this API key may spend in one 60-second window.
  • ratelimit-remaining — Messages left in the current window.
  • ratelimit-reset — Seconds until the current window resets and the budget refills.

Errors

The codes this operation can answer with, and what to do about each. Every one arrives with its code, message, fix and docs_url.

  • internal_server_error (500, internal_server_error) — Unexpected error. Fix: Retry ONCE after a short pause, with the same Idempotency-Key so the retry cannot double-send. If it fails again, stop retrying and report the x-request-id from the response — that id is what identifies this exact failure in support.
  • not_found (404, not_found) — Endpoint or resource does not exist. Fix: List that resource on this account and use an id from the list. For a domain, GET /domains accepts the id or the domain name. A path that is not a route is a typo in the URL.
  • rate_limit_exceeded (429, rate_ceiling_exceeded, rate_limit_exceeded) — Too many requests. Fix: Back off and retry honoring the Retry-After header.