PAY.JP Plans API

The Plans API from PAY.JP — 2 operation(s) for plans.

Operations 5

GET /plans List plans #
POST /plans Create a recurring plan #
GET /plans/{id} Retrieve a plan #
POST /plans/{id} Update a plan #
DELETE /plans/{id} Delete a plan #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/payjp-plans-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

payjp-plans-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: PAY.JP 3D Secure Plans API
  description: PAY.JP is an online payment service operated by PAY, Inc. (PAY株式会社) in Japan. The REST API creates charges, tokenizes cards, manages customers, runs subscriptions (定期課金), and reports transfers (入金) and balances in Japanese yen. Authentication is HTTP Basic with a secret key (sk_test_ / sk_live_) as the username and an empty password. All amounts are integer JPY.
  termsOfService: https://pay.jp/terms
  contact:
    name: PAY.JP Support
    url: https://help.pay.jp/
  version: '1.0'
servers:
- url: https://api.pay.jp/v1
  description: PAY.JP REST API (HTTPS only)
security:
- basicAuth: []
tags:
- name: Plans
paths:
  /plans:
    get:
      operationId: listPlans
      tags:
      - Plans
      summary: List plans
      responses:
        '200':
          $ref: '#/components/responses/List'
    post:
      operationId: createPlan
      tags:
      - Plans
      summary: Create a recurring plan
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                amount:
                  type: integer
                currency:
                  type: string
                  enum:
                  - jpy
                  default: jpy
                interval:
                  type: string
                  enum:
                  - month
                  - year
                trial_days:
                  type: integer
                billing_day:
                  type: integer
                name:
                  type: string
              required:
              - amount
              - currency
              - interval
      responses:
        '200':
          $ref: '#/components/responses/Plan'
  /plans/{id}:
    parameters:
    - $ref: '#/components/parameters/id'
    get:
      operationId: retrievePlan
      tags:
      - Plans
      summary: Retrieve a plan
      responses:
        '200':
          $ref: '#/components/responses/Plan'
    post:
      operationId: updatePlan
      tags:
      - Plans
      summary: Update a plan
      responses:
        '200':
          $ref: '#/components/responses/Plan'
    delete:
      operationId: deletePlan
      tags:
      - Plans
      summary: Delete a plan
      responses:
        '200':
          $ref: '#/components/responses/Deleted'
components:
  schemas:
    Object:
      type: object
      properties:
        id:
          type: string
        object:
          type: string
        livemode:
          type: boolean
        created:
          type: integer
          description: Unix timestamp
      additionalProperties: true
    List:
      type: object
      properties:
        object:
          type: string
          example: list
        count:
          type: integer
        has_more:
          type: boolean
        url:
          type: string
        data:
          type: array
          items:
            $ref: '#/components/schemas/Object'
  responses:
    Plan:
      description: A Plan object
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Object'
    List:
      description: A paginated list object
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/List'
    Deleted:
      description: A deletion confirmation
      content:
        application/json:
          schema:
            type: object
            properties:
              id:
                type: string
              object:
                type: string
                example: charge
              deleted:
                type: boolean
                example: true
  parameters:
    id:
      name: id
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication. Use the secret key (sk_test_ / sk_live_) as the username and leave the password empty.