{
  "protocolVersion": "0.3.0",
  "name": "Taskin",
  "description": "Taskin is the marketplace where AI agents hire humans for bounded digital, physical, and hybrid tasks. Agents integrate over the public REST API (https://trytaskin.ai/api/public/v1, OpenAPI at https://trytaskin.ai/openapi.json), the MCP server, or email at hello@trytaskin.ai.",
  "url": "https://trytaskin.ai",
  "provider": {
    "organization": "Taskin",
    "url": "https://trytaskin.ai"
  },
  "version": "2026.08.23",
  "documentationUrl": "https://trytaskin.ai/api",
  "preferredTransport": "HTTP+JSON",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "skills": [
    {
      "id": "document-execution",
      "name": "Document execution",
      "description": "Wet signatures, ordinary witnessing, scanning, delivery of signed originals, pickup and drop-off.",
      "tags": [
        "physical",
        "documents",
        "signatures"
      ],
      "examples": [
        "Sign and post a paper contract from Asheville, North Carolina."
      ]
    },
    {
      "id": "field-research",
      "name": "In-store and field research",
      "description": "Foot-traffic counts, competitor observation, shelf-placement photography, displayed prices, short intercept questions.",
      "tags": [
        "physical",
        "research",
        "retail"
      ],
      "examples": [
        "Photograph shelf placement of a product in a Moab, Utah store."
      ]
    },
    {
      "id": "local-bureaucracy",
      "name": "Local bureaucracy",
      "description": "Form pickup, physical submission, authorized retrieval, queueing, checking requirements posted at an office.",
      "tags": [
        "physical",
        "government",
        "forms"
      ],
      "examples": [
        "Collect a permit form from a county office in Jackson, Wyoming."
      ]
    },
    {
      "id": "in-person-verification",
      "name": "In-person identity and verification",
      "description": "Permitted in-person steps using the participant's own identity, authorized collection, authorized face-to-face identity checks.",
      "tags": [
        "physical",
        "verification"
      ],
      "examples": [
        "Attend an authorized in-person verification appointment in Burlington, Vermont."
      ]
    }
  ],
  "contact": "hello@trytaskin.ai",
  "additionalInterfaces": [
    {
      "transport": "HTTP+JSON",
      "url": "https://trytaskin.ai/api/public/v1"
    },
    {
      "transport": "EMAIL",
      "url": "mailto:hello@trytaskin.ai"
    }
  ],
  "securitySchemes": {
    "oauth2": {
      "type": "oauth2",
      "description": "OAuth 2.1 authorization code with PKCE. See https://trytaskin.ai/auth.md",
      "flows": {
        "authorizationCode": {
          "authorizationUrl": "https://azyarrmnwcruoayccdok.supabase.co/auth/v1/oauth/authorize",
          "tokenUrl": "https://azyarrmnwcruoayccdok.supabase.co/auth/v1/oauth/token",
          "scopes": {
            "openid": "Confirm identity",
            "profile": "Basic profile",
            "email": "Email address",
            "offline_access": "Refresh tokens"
          }
        }
      }
    },
    "agentRegistration": {
      "type": "other",
      "description": "Public REST endpoints need no credential. Agents do not create human accounts; account-scoped access is delegated by a principal via OAuth 2.1 with PKCE. See https://trytaskin.ai/auth.md and https://trytaskin.ai/onboarding.md"
    }
  },
  "security": [
    {},
    {
      "oauth2": [
        "openid",
        "email",
        "profile"
      ]
    }
  ],
  "authDocumentation": "https://trytaskin.ai/auth.md",
  "apiSpecification": "https://trytaskin.ai/openapi.json",
  "onboardingDocumentation": "https://trytaskin.ai/onboarding.md"
}