Postion
  • Community
  • Pricing
Dashboard
Login
Discord

Getting Started

OverviewIntroductionWhy Postion?Core ConceptsQuick Start GuideMigration GuideDashboard GuideNew User

For Creators

Site ManagementWriting & EditingPostion EditorBranding & CustomizationYour Site, Your StyleSEO & DiscoverySocial WorkflowTemplate MarketplaceMonetizationContent Access & PricingSubscription ModelsStripe ConnectOther Revenue StreamsPayouts & FeesAnalyticsAdvanced AnalyticsEmail MarketingStripe Connect GuideCustom Domain GuideWebhook GuideExporting DataCRM Fan Manage GuideCRM Tags GuideCRM Segments Guide

Community

Community GuidelinesEarly Adopter ProgramHow to ParticipateBest PracticesSuccess Stories

Technical

Platform ArchitectureHow Postion WorksCustom DomainWebhooksPublic API DocumentationStorage & Quotas

Others

FAQTroubleshooting
Docs
API キー&ドキュメント

API キー&ドキュメント

プログラマティックアクセスのための API キー管理と、REST API を使った外部サービスとの連携方法を解説します。

デベロッパーハブへようこそ。このガイドでは、API キーの管理とコンテンツへのプログラマティックなアクセスに必要なすべてを解説します。REST API を使って、カスタム連携の構築、ワークフローの自動化、プラットフォーム機能の拡張が可能です。

API キー管理

API キーは、API を通じてアカウントデータへのセキュアな認証済みアクセスを提供します。異なるアプリケーション向けに、異なる権限を持つ複数のキーを作成できます。

新しい API キーの作成

API Keys

API を使い始めるには、まず API キーを作成する必要があります。

  1. ダッシュボードの API キー ページに移動。

  2. 「API キーを作成」 ボタンをクリック。

  3. ダイアログが表示され、以下の情報を入力します:

    • 名前:後で識別しやすいように、説明的な名前を付けます(例:「Zapier 連携」、「マイカスタムアプリ」)。
    • 有効期限(オプション):セキュリティ強化のために、キーが自動的に期限切れになる日時を設定できます。空欄にすると無期限のキーになります。
    • 権限(スコープ):最も重要な部分です。このキーが持つ特定の権限(スコープ)を選択します。最小権限の原則に従い、アプリケーションに必要な権限のみを付与してください。
  4. 「API キーを作成」 をクリック。

重要: 新しい API キーは、作成直後に 一度だけ 表示されます。必ずコピーして安全な場所に保管してください。再表示はできません。

API キーの管理

作成後、API キーはテーブルに一覧表示されます。ここで管理とモニタリングが可能です:

  • キープレフィックスの表示:セキュリティのため、キーの先頭部分(keyPrefix)のみが保存・表示されます。完全なシークレットを公開せずにキーの識別に役立ちます。
  • 表示の切り替え:目のアイコン(<Eye />)をクリックしてキープレフィックスを一時的に表示。
  • ステータス(有効/無効):キーはいつでも有効化/無効化できます。無効化されたキーは API リクエストに使用できません。連携を削除せず一時的に無効にする場合に便利です。
  • 最終使用日時:キーが最後に API リクエストに使用された日時を表示。未使用のキーの特定に役立ちます。
  • 有効期限&作成日:キーの有効期限と作成日を表示。
  • アクション:ドロップダウンメニューで 有効化/無効化 や完全な 削除 が可能。

API ドキュメント

API は予測可能で使いやすいように設計されています。

API 概要

  • ベース URL:すべての API エンドポイントはこの URL を基準とします。
https://postion.app/api/v1
  • フォーマット:すべてのリクエストとレスポンスは JSON 形式。
  • レート制限:安定性確保のため、API は 1 分あたり 100 リクエスト に制限されています。レート制限ヘッダーはすべてのレスポンスに含まれます。

認証

すべての API リクエストは、Authorization ヘッダーの Bearer Token で認証する必要があります。

Authorization: Bearer pk_your_api_key_here

pk_your_api_key_here を作成したシークレット API キーに置き換えてください。

cURL リクエスト例

cURL を使って投稿一覧を取得する例:

curl -X GET "https://postion.app/api/v1/posts" \
  -H "Authorization: Bearer pk_your_api_key_here" \
  -H "Content-Type: application/json"

セキュリティのベストプラクティス:

  • クライアントサイドコード(公開サイトの JavaScript など)に API キーを公開しない。
  • サーバー上の環境変数でキーを安全に保管。
  • API キーは定期的にローテーション。
  • 各キーに必要最小限のスコープのみを付与。

エンドポイント

コンテンツを管理するためのさまざまなエンドポイントを提供しています。以下が主なリソースです。

Posts

Posts エンドポイントでブログ投稿を管理できます。

  • GET /api/v1/posts:すべての投稿を一覧表示。
  • POST /api/v1/posts:新しい投稿を作成。
  • GET /api/v1/posts/{id}:ID で特定の投稿を取得。
  • PUT /api/v1/posts/{id}:特定の投稿を更新。
  • DELETE /api/v1/posts/{id}:投稿を削除。

Sites

Sites エンドポイントでサイトを管理できます。

  • GET /api/v1/sites::すべてのサイトを一覧表示。

Webhooks

Webhook でアカウントのイベントのリアルタイム通知を受信できます。

  • GET /api/v1/webhooks::すべての Webhook を一覧表示。
  • POST /api/v1/webhooks::新しい Webhook を作成。

コード例

異なるプログラミング言語での API 使用例を紹介します。

JavaScript (Node.js) - 投稿の作成

const response = await fetch('https://postion.app/api/v1/posts', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer pk_your_api_key_here',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    title: 'My New Post',
    content: { /* JSON 形式の投稿コンテンツ */ },
    description: 'A brief description of my post',
    published: true,
    tags: ['javascript', 'api']
  })
});
 
const data = await response.json();
console.log('Created post:', data);

Python - 投稿の取得

import requests
 
headers = {
    'Authorization': 'Bearer pk_your_api_key_here',
    'Content-Type': 'application/json'
}
 
response = requests.get(
    'https://postion.app/api/v1/posts',
    headers=headers,
    params={'published': True}
)
 
if response.status_code == 200:
    data = response.json()
    posts = data['data']
    print(f"Found {len(posts)} posts")
else:
    print(f"Error: {response.status_code}")

Webhook の処理 (Node.js/Express)

Webhook 署名を検証して、リクエストが正当なものであることを確認することが重要です。

// Express.js の Webhook ハンドラ
app.post('/webhook', express.raw({type: 'application/json'}), (req, res) => {
  const signature = req.headers['x-webhook-signature'];
  const payload = req.body;
  
  // 署名の検証
  const expectedSignature = crypto
    .createHmac('sha256', process.env.WEBHOOK_SECRET)
    .update(payload)
    .digest('hex');
  
  if (signature !== expectedSignature) {
    return res.status(401).send('Invalid signature');
  }
  
  const event = JSON.parse(payload);
  
  // イベントの処理
  switch (event.event.type) {
    case 'post.published':
      // 投稿公開の処理...
      break;
    default:
      console.log('Unknown event type:', event.event.type);
  }
  
  res.status(200).send('OK');
});

追加 API エンドポイント

包括的な連携を構築するための追加エンドポイントです。

Subscribers

購読者ベースをプログラマティックに管理。

メソッドエンドポイント説明
GET/api/v1/subscribers全購読者を一覧表示
GET/api/v1/subscribers/{id}購読者の詳細を取得
POST/api/v1/subscribers新しい購読者を追加
PUT/api/v1/subscribers/{id}購読者情報を更新
DELETE/api/v1/subscribers/{id}購読者を削除

例:購読者の取得

const response = await fetch('https://postion.app/api/v1/subscribers', {
  headers: {
    'Authorization': 'Bearer pk_your_api_key_here',
  }
});
 
const { data: subscribers, pagination } = await response.json();
console.log(`Found ${subscribers.length} subscribers`);

Plans

サイトのサブスクリプションプランを管理。

メソッドエンドポイント説明
GET/api/v1/plans全プランを一覧表示
GET/api/v1/plans/{id}プランの詳細を取得
POST/api/v1/plans新しいプランを作成
PUT/api/v1/plans/{id}プランを更新

Subscriptions

購読者のサブスクリプションデータにアクセス。

メソッドエンドポイント説明
GET/api/v1/subscriptionsアクティブなサブスクリプションを一覧表示
GET/api/v1/subscriptions/{id}サブスクリプションの詳細を取得

Transactions

収益と取引履歴を確認。

メソッドエンドポイント説明
GET/api/v1/transactions全取引を一覧表示
GET/api/v1/transactions/{id}取引の詳細を取得

Tags

コンテンツタグを管理。

メソッドエンドポイント説明
GET/api/v1/tags全タグを一覧表示
POST/api/v1/tags新しいタグを作成
PUT/api/v1/tags/{id}タグを更新
DELETE/api/v1/tags/{id}タグを削除

レート制限の詳細

プラットフォームの安定性確保のため、API リクエストはレート制限されています。

レート制限ヘッダー

すべての API レスポンスに以下のヘッダーが含まれます:

ヘッダー説明
X-RateLimit-Limitウィンドウあたりの最大リクエスト数
X-RateLimit-Remaining現在のウィンドウの残りリクエスト数
X-RateLimit-Resetウィンドウがリセットされる Unix タイムスタンプ

プランごとのレート制限

プラン1 分あたりのリクエスト1 日あたりのリクエスト
Free301,000
Launch605,000
Pro10020,000
Enterpriseカスタムカスタム

レート制限の処理

レート制限を超えた場合、429 Too Many Requests レスポンスを受け取ります:

{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Too many requests. Please slow down.",
    "retry_after": 30
  }
}

ベストプラクティス:

  • 429 を受け取った場合は指数バックオフを実装
  • 可能な場合はレスポンスをキャッシュ
  • リアルタイム更新にはポーリングの代わりに Webhook を使用

エラーハンドリング

すべての API エラーは一貫したフォーマットに従います。

エラーレスポンス形式

{
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable error message",
    "details": {}
  }
}

一般的なエラーコード

コードHTTP ステータス説明
UNAUTHORIZED401無効または欠落した API キー
FORBIDDEN403キーに必要な権限がない
NOT_FOUND404リソースが存在しない
VALIDATION_ERROR400無効なリクエストパラメータ
RATE_LIMIT_EXCEEDED429リクエストが多すぎます
INTERNAL_ERROR500サーバー側のエラー

ページネーション

一覧エンドポイントは大規模データセットのページネーションに対応しています。

クエリパラメータ

パラメータ型説明デフォルト
pagenumberページ番号1
limitnumber1 ページあたりの件数20
sortstringソートフィールドcreated_at
orderstringasc または descdesc

ページネーションレスポンス

{
  "data": [...],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 150,
    "total_pages": 8,
    "has_next": true,
    "has_prev": false
  }
}

API 変更履歴

API の更新情報をお知らせします。

バージョン履歴

バージョン日付変更内容
v1.22025-08subscribers と transactions エンドポイントを追加
v1.12025-06plans と subscriptions エンドポイントを追加
v1.02025-01API 初回リリース

バージョニング: API は URL パス(/api/v1/)でバージョン管理されています。破壊的変更は新しいバージョンとしてリリースされます。

Postion

Post like it's yours — because it is.

TwitterGitHubDiscordDiscordInstagram

Explore

  • Dashboard
  • Community
  • Pricing
  • Docs
  • FAQ

Company

  • Changelog
  • Roadmap
  • Contact
  • Join Us
  • Blog

Resources

  • Invitations
  • Quick Start
  • What is Postion
  • Dashboard Guide
  • Public API Guide

Support

  • About Postion
  • Join Discord
  • BuouUI
  • Sitemap
  • Blog RSS

© Postion 2026 — BuouTech Inc.

ImprintAccessibilityPrivacy PolicyTerms