sudomock-com Account API

Read the current account, its plan and its remaining credits.

Operations 2

GET /api/v1/packages/plans Retrieve a list of plans #
GET /api/v1/me Retrieve the current account #

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/sudomock-com:sudomock-com-account-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

sudomock-com-account-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SudoMock Account API
  description: 'Product mockup API. Render PSD templates, turn product photos into reusable mockups, create still images and videos, personalize text with fonts, and manage asynchronous jobs and signed webhooks.


    Every endpoint answers failures with the same envelope, so the status codes, the error_code values and the retry rule are documented once at https://sudomock.com/docs/errors rather than repeated per operation.'
  version: 1.0.0
servers:
- url: https://api.sudomock.com
  description: Production
tags:
- name: Account
  description: Read the current account, its plan and its remaining credits.
paths:
  /api/v1/packages/plans:
    get:
      tags:
      - Account
      summary: Retrieve a list of plans
      description: Returns all available subscription plans with pricing and API limits
      operationId: get_plans_api_v1_packages_plans_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Get Plans Api V1 Packages Plans Get
              example:
                plans:
                - id: fa2f67af-e024-4412-8b29-a2cca7dfd4ca
                  name: Starter 5K
                  slug: starter-5k
                  tier: starter
                  description: Starter plan with 5,000 credits/month
                  price_monthly: 25.0
                  price_yearly: 250.0
                  credits_per_month: 5000
                  max_concurrent_requests: 3
                  max_concurrent_uploads: 2
                  psd_limit: 150
                  prices:
                    usd:
                      monthly: 25.0
                      yearly: 250.0
                    eur:
                      monthly: 22.0
                      yearly: 220.0
                    gbp:
                      monthly: 19.0
                      yearly: 190.0
                addons:
                  custom_domain:
                    prices:
                      usd:
                        monthly: 50.0
                      eur:
                        monthly: 45.0
                      gbp:
                        monthly: 39.0
      x-mint:
        metadata:
          sidebarTitle: List subscription plans
      x-codeSamples:
      - lang: Node.js
        source: "const response = await fetch(\"https://api.sudomock.com/api/v1/packages/plans\", {\n  method: \"GET\",\n});\n\nconst data = await response.json();\nconsole.log(data);"
      - lang: PHP
        source: '<?php


          $ch = curl_init("https://api.sudomock.com/api/v1/packages/plans");

          curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");

          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);


          $response = curl_exec($ch);

          curl_close($ch);


          echo $response;'
      - lang: Python
        source: "import requests\n\nresponse = requests.get(\n    \"https://api.sudomock.com/api/v1/packages/plans\",\n)\n\nresponse.raise_for_status()\nprint(response.json())"
      - lang: Ruby
        source: "require \"net/http\"\nrequire \"uri\"\n\nuri = URI(\"https://api.sudomock.com/api/v1/packages/plans\")\nrequest = Net::HTTP::Get.new(uri)\n\nresponse = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|\n  http.request(request)\nend\n\nputs response.body"
      - lang: Go
        source: "package main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n)\n\nfunc main() {\n\treq, err := http.NewRequest(\"GET\", \"https://api.sudomock.com/api/v1/packages/plans\", nil)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tres, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer res.Body.Close()\n\n\tbody, _ := io.ReadAll(res.Body)\n\tfmt.Println(string(body))\n}"
      - lang: Java
        source: "import java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\n\nHttpRequest request = HttpRequest.newBuilder()\n    .uri(URI.create(\"https://api.sudomock.com/api/v1/packages/plans\"))\n    .GET()\n    .build();\n\nHttpResponse<String> response = HttpClient.newHttpClient()\n    .send(request, HttpResponse.BodyHandlers.ofString());\n\nSystem.out.println(response.body());"
      - lang: .NET
        source: 'using System.Net.Http;

          using System.Text;


          var request = new HttpRequestMessage(HttpMethod.Get, "https://api.sudomock.com/api/v1/packages/plans");


          var client = new HttpClient();

          var response = await client.SendAsync(request);


          Console.WriteLine(await response.Content.ReadAsStringAsync());'
      - lang: cURL
        source: curl -X GET "https://api.sudomock.com/api/v1/packages/plans"
  /api/v1/me:
    get:
      tags:
      - Account
      summary: Retrieve the current account
      description: Returns account details, subscription info, usage statistics, and API key metadata for the authenticated user.
      operationId: get_current_user_info_api_v1_me_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeResponse'
      x-mint:
        metadata:
          sidebarTitle: Get account
      security:
      - ApiKeyAuth: []
      x-codeSamples:
      - lang: Node.js
        source: "const response = await fetch(\"https://api.sudomock.com/api/v1/me\", {\n  method: \"GET\",\n  headers: { \"x-api-key\": \"sm_your_api_key\" },\n});\n\nconst data = await response.json();\nconsole.log(data);"
      - lang: PHP
        source: "<?php\n\n$ch = curl_init(\"https://api.sudomock.com/api/v1/me\");\ncurl_setopt($ch, CURLOPT_CUSTOMREQUEST, \"GET\");\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n    \"x-api-key: sm_your_api_key\",\n]);\n\n$response = curl_exec($ch);\ncurl_close($ch);\n\necho $response;"
      - lang: Python
        source: "import requests\n\nresponse = requests.get(\n    \"https://api.sudomock.com/api/v1/me\",\n    headers={\"x-api-key\": \"sm_your_api_key\"},\n)\n\nresponse.raise_for_status()\nprint(response.json())"
      - lang: Ruby
        source: "require \"net/http\"\nrequire \"uri\"\n\nuri = URI(\"https://api.sudomock.com/api/v1/me\")\nrequest = Net::HTTP::Get.new(uri)\nrequest[\"x-api-key\"] = \"sm_your_api_key\"\n\nresponse = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|\n  http.request(request)\nend\n\nputs response.body"
      - lang: Go
        source: "package main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n)\n\nfunc main() {\n\treq, err := http.NewRequest(\"GET\", \"https://api.sudomock.com/api/v1/me\", nil)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treq.Header.Set(\"x-api-key\", \"sm_your_api_key\")\n\n\tres, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer res.Body.Close()\n\n\tbody, _ := io.ReadAll(res.Body)\n\tfmt.Println(string(body))\n}"
      - lang: Java
        source: "import java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\n\nHttpRequest request = HttpRequest.newBuilder()\n    .uri(URI.create(\"https://api.sudomock.com/api/v1/me\"))\n    .header(\"x-api-key\", \"sm_your_api_key\")\n    .GET()\n    .build();\n\nHttpResponse<String> response = HttpClient.newHttpClient()\n    .send(request, HttpResponse.BodyHandlers.ofString());\n\nSystem.out.println(response.body());"
      - lang: .NET
        source: 'using System.Net.Http;

          using System.Text;


          var request = new HttpRequestMessage(HttpMethod.Get, "https://api.sudomock.com/api/v1/me");

          request.Headers.Add("x-api-key", "sm_your_api_key");


          var client = new HttpClient();

          var response = await client.SendAsync(request);


          Console.WriteLine(await response.Content.ReadAsStringAsync());'
      - lang: cURL
        source: "curl -X GET \"https://api.sudomock.com/api/v1/me\" \\\n  -H \"x-api-key: sm_your_api_key\""
components:
  schemas:
    MeApiKeyData:
      properties:
        name:
          type: string
          description: API key name
          examples:
          - Production Key
        created_at:
          type: string
          format: date-time
          description: When the API key was created
          examples:
          - '2025-06-15T10:30:00Z'
        last_used_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          description: Last time the API key was used
          examples:
          - '2026-01-05T00:25:00Z'
        total_requests:
          type: integer
          description: Total credit-consuming operations recorded for this API key
          examples:
          - 847293
      type: object
      required:
      - name
      - created_at
      - total_requests
      title: MeApiKeyData
      description: API key metadata in /me response
      example:
        created_at: '2025-06-15T10:30:00Z'
        last_used_at: '2026-01-05T00:25:00Z'
        name: Production Key
        total_requests: 847293
    MeUsageData:
      properties:
        credits_used_this_month:
          type: integer
          description: Credits used in current billing period
          examples:
          - 12847
        credits_limit:
          type: integer
          description: 'Credits granted for the current billing period: the plan''s monthly credits on a monthly plan, the full year''s credits on a yearly plan'
          examples:
          - 50000
        credits_remaining:
          type: integer
          description: Credits remaining in the current billing period
          examples:
          - 37153
        billing_period_start:
          type: string
          format: date-time
          description: Start of current billing period
          examples:
          - '2026-01-01T00:00:00Z'
        billing_period_end:
          type: string
          format: date-time
          description: End of current billing period
          examples:
          - '2026-02-01T00:00:00Z'
        prepaid_balance:
          type: number
          description: Prepaid balance remaining, in prepaid_balance_currency. 0 when the account holds no balance (never null). Independent of the credits_* fields above, which count a subscription allotment.
          examples:
          - 4.3
        prepaid_balance_currency:
          type: string
          description: ISO 4217 currency of prepaid_balance. Always USD today.
          examples:
          - USD
      type: object
      required:
      - credits_used_this_month
      - credits_limit
      - credits_remaining
      - billing_period_start
      - billing_period_end
      - prepaid_balance
      - prepaid_balance_currency
      title: MeUsageData
      description: Usage statistics in /me response
      example:
        billing_period_end: '2026-02-01T00:00:00Z'
        billing_period_start: '2026-01-01T00:00:00Z'
        credits_limit: 50000
        credits_remaining: 37153
        credits_used_this_month: 12847
        prepaid_balance: 4.3
        prepaid_balance_currency: USD
    MeResponseData:
      properties:
        account:
          $ref: '#/components/schemas/MeAccountData'
          description: User account information
        organization:
          $ref: '#/components/schemas/MeOrganizationData'
          description: Organization that owns the subscription and usage below
        subscription:
          $ref: '#/components/schemas/MeSubscriptionData'
          description: Subscription details
        usage:
          $ref: '#/components/schemas/MeUsageData'
          description: Usage statistics
        api_key:
          anyOf:
          - $ref: '#/components/schemas/MeApiKeyData'
          - type: 'null'
          description: Current API key metadata
      type: object
      required:
      - account
      - organization
      - subscription
      - usage
      title: MeResponseData
      description: Data payload in /me response
    MeAccountData:
      properties:
        uuid:
          type: string
          description: User UUID
          examples:
          - c33f5fdf-346e-4c37-8686-9afcca4645ef
        email:
          type: string
          description: User email address
          examples:
          - user@example.com
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: Account or company name
          examples:
          - Acme Corp
        created_at:
          type: string
          format: date-time
          description: Account creation timestamp
          examples:
          - '2025-06-15T10:30:00Z'
      type: object
      required:
      - uuid
      - email
      - created_at
      title: MeAccountData
      description: Account information in /me response
      example:
        created_at: '2025-06-15T10:30:00Z'
        email: user@example.com
        name: Acme Corp
        uuid: 123e4567-e89b-12d3-a456-426614174000
    MeResponse:
      properties:
        data:
          $ref: '#/components/schemas/MeResponseData'
          description: Response data
        success:
          type: boolean
          description: Success status
          default: true
          examples:
          - true
      type: object
      required:
      - data
      title: MeResponse
      description: Your account, plan, usage and remaining credits.
      example:
        data:
          account:
            created_at: '2025-06-15T10:30:00Z'
            email: user@example.com
            name: Acme Corp
            uuid: 123e4567-e89b-12d3-a456-426614174000
          api_key:
            created_at: '2025-06-15T10:30:00Z'
            last_used_at: '2026-01-05T00:25:00Z'
            name: Production Key
            total_requests: 847293
          organization:
            id: 123e4567-e89b-12d3-a456-426614174000
            name: Acme
          subscription:
            billing_channel: stripe
            current_period_end: '2026-02-05T00:00:00Z'
            plan: pro-25k
            status: active
            tier: pro
          usage:
            billing_period_end: '2026-02-01T00:00:00Z'
            billing_period_start: '2026-01-01T00:00:00Z'
            credits_limit: 50000
            credits_remaining: 37153
            credits_used_this_month: 12847
            prepaid_balance: 0.0
            prepaid_balance_currency: USD
        success: true
    MeOrganizationData:
      properties:
        id:
          type: string
          description: Organization UUID
          examples:
          - 97d7a314-29be-47b5-997c-df7f0ca71eb8
        name:
          type: string
          description: Organization name
          examples:
          - Acme
      type: object
      required:
      - id
      - name
      title: MeOrganizationData
      description: Organization the request acts on in /me response
      example:
        id: 123e4567-e89b-12d3-a456-426614174000
        name: Acme
    MeSubscriptionData:
      properties:
        plan:
          type: string
          description: Plan slug (e.g., 'pro-25k', 'scale-100k', 'free')
          examples:
          - pro-25k
        tier:
          type: string
          description: Plan tier for feature gating (e.g., 'free', 'pro', 'scale')
          examples:
          - pro
        status:
          type: string
          description: 'Subscription status: ''active'', ''cancelled'', ''past_due'', ''expired'', ''paused'''
          examples:
          - active
        current_period_end:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          description: End of current billing period
          examples:
          - '2026-02-05T00:00:00Z'
        billing_channel:
          type: string
          enum:
          - shopify
          - stripe
          - none
          description: Which billing channel currently owns this subscription.
          default: none
          examples:
          - stripe
      type: object
      required:
      - plan
      - tier
      - status
      title: MeSubscriptionData
      description: Subscription information in /me response
      example:
        billing_channel: stripe
        current_period_end: '2026-02-05T00:00:00Z'
        plan: pro-25k
        status: active
        tier: pro
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key with sm_ prefix. Get your key at https://sudomock.com/dashboard/api-keys