{
  "openapi": "3.0.1",
  "info": {
    "title": "GBP Social Repurposer - Auto-Post to Social Platforms",
    "description": "Automatically transform and repurpose your Google Business Profile (GBP) posts for Facebook, Instagram, LinkedIn, and Twitter/X with AI-powered content optimization. Turn one GBP post into perfectly tailored content for every major social platform.",
    "version": "1.2",
    "x-build-id": "3sTZwaPFcrmzpnIY7"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/alizarin_refrigerator-owner~gbp-social-repurposer/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-alizarin_refrigerator-owner-gbp-social-repurposer",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/alizarin_refrigerator-owner~gbp-social-repurposer/runs": {
      "post": {
        "operationId": "runs-sync-alizarin_refrigerator-owner-gbp-social-repurposer",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/alizarin_refrigerator-owner~gbp-social-repurposer/run-sync": {
      "post": {
        "operationId": "run-sync-alizarin_refrigerator-owner-gbp-social-repurposer",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "gbpPosts": {
            "title": "GBP Posts",
            "type": "array",
            "description": "Array of Google Business Profile posts to repurpose. Each post should have text, optional images, and post type. If no GBP post source is provided at all, the actor returns labeled sample data and charges no task events."
          },
          "businessName": {
            "title": "Business Name",
            "type": "string",
            "description": "Your business name to include in AI-generated content for brand consistency"
          },
          "enableFacebook": {
            "title": "Enable Facebook",
            "type": "boolean",
            "description": "Post to Facebook Page. Requires Facebook Page ID and Access Token.",
            "default": true
          },
          "enableInstagram": {
            "title": "Enable Instagram",
            "type": "boolean",
            "description": "Post to Instagram Business Account. Requires Instagram Business Account ID and Facebook Access Token. Note: Instagram requires images.",
            "default": true
          },
          "enableLinkedIn": {
            "title": "Enable LinkedIn",
            "type": "boolean",
            "description": "Post to LinkedIn Organization Page. Requires Organization ID and Access Token.",
            "default": true
          },
          "enableTwitter": {
            "title": "Enable Twitter/X",
            "type": "boolean",
            "description": "Post to Twitter/X. Requires API keys and access tokens.",
            "default": true
          },
          "facebookPageId": {
            "title": "Facebook Page ID",
            "type": "string",
            "description": "Your Facebook Page ID for posting. Find it in Page Settings > Page Info."
          },
          "facebookAccessToken": {
            "title": "Facebook Access Token",
            "type": "string",
            "description": "Page Access Token with pages_manage_posts permission. Also used for Instagram."
          },
          "instagramBusinessAccountId": {
            "title": "Instagram Business Account ID",
            "type": "string",
            "description": "Your Instagram Business Account ID. Find it via Facebook Business Suite."
          },
          "linkedinOrganizationId": {
            "title": "LinkedIn Organization ID",
            "type": "string",
            "description": "Your LinkedIn Company/Organization Page ID."
          },
          "linkedinAccessToken": {
            "title": "LinkedIn Access Token",
            "type": "string",
            "description": "LinkedIn OAuth access token with w_organization_social permission."
          },
          "twitterApiKey": {
            "title": "Twitter API Key",
            "type": "string",
            "description": "Your Twitter/X API Key (Consumer Key)"
          },
          "twitterApiSecret": {
            "title": "Twitter API Secret",
            "type": "string",
            "description": "Your Twitter/X API Secret (Consumer Secret)"
          },
          "twitterAccessToken": {
            "title": "Twitter Access Token",
            "type": "string",
            "description": "Your Twitter/X Access Token"
          },
          "twitterAccessTokenSecret": {
            "title": "Twitter Access Token Secret",
            "type": "string",
            "description": "Your Twitter/X Access Token Secret"
          },
          "enableAiRewriting": {
            "title": "Enable AI Rewriting",
            "type": "boolean",
            "description": "Use Claude AI to intelligently rewrite and optimize content for each social platform",
            "default": true
          },
          "anthropicApiKey": {
            "title": "Anthropic API Key",
            "type": "string",
            "description": "Your Anthropic API key for Claude AI content optimization. Required if AI rewriting is enabled."
          },
          "aiTone": {
            "title": "AI Tone",
            "enum": [
              "professional",
              "casual",
              "friendly",
              "exciting",
              "formal"
            ],
            "type": "string",
            "description": "The tone for AI-generated content across all platforms",
            "default": "professional"
          },
          "includeLinkToGBP": {
            "title": "Include Link to GBP Post",
            "type": "boolean",
            "description": "Add a link back to the original Google Business Profile post (where supported)",
            "default": true
          },
          "includeHashtags": {
            "title": "Include Hashtags",
            "type": "boolean",
            "description": "Add relevant hashtags to posts for better discoverability",
            "default": true
          },
          "customHashtags": {
            "title": "Custom Hashtags",
            "type": "array",
            "description": "Always include these hashtags in posts (e.g., your brand hashtag)",
            "items": {
              "type": "string"
            }
          },
          "scheduleMode": {
            "title": "Schedule Mode",
            "enum": [
              "preview",
              "immediate",
              "queue"
            ],
            "type": "string",
            "description": "How to handle posting: 'preview' generates content without posting, 'immediate' posts right away, 'queue' saves for later",
            "default": "preview"
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "URL to POST results to when complete (for automation integrations)"
          },
          "demoMode": {
            "title": "Demo Mode",
            "type": "boolean",
            "description": "Run in demo mode. Returns clearly labeled sample output without posting anything and charges no task events. Demo mode also activates automatically when no GBP post source is provided.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}