Docs
API ReferenceAbout
Docs
API ReferenceAbout
  1. Docs
  • Getting Started
  • Authentication
  • Permissions
  • Filtering
  • Uploading Files
  • Using Marvia CDN
  • API Reference
    • Users
      • Get a user
      • Delete a user
      • Update a user
      • List
      • Create a new user
      • List user locations
      • Update user locations
      • List user groups
      • Update user groups
    • Products
      • List products
      • Get a product
      • Get product API module
      • Get product delivery module
      • Get product distribution module
      • Get product locations module
      • Get product files module
      • Get product stock module
      • Get product price module
      • Get product workflow module
      • Get product socials module
      • Get product internal comment module
      • Get product campaigns module
      • Get product permissions module
      • Get product reservations module
      • Get product template module
      • Get product form builder module
      • Get product variants module
    • Locations
      • Update a location
      • Get a location
      • Delete a location
      • List locations
      • Create a new location
      • List location users
      • List location groups
    • Groups
      • Get a group
      • Update a group
      • Delete a group
      • List groups
      • Create a new group
      • List group users
      • List group locations
    • Uploads
      • Initialize multipart upload
      • Complete multipart upload
    • Assets
      • List assets
      • Create a new asset
      • Get asset
      • Update an asset
      • Search assets
      • Get all meta tags
      • Get asset meta tags
      • Update asset meta tags
    • Posts
      • List posts
      • Get a post
  • Schemas
    • Union_
    • Union_1
    • User
    • MissingPermissionsErrorEncoded
    • UserNotFoundErrorEncoded
    • Union_2
    • InternalServerErrorEncoded
    • UnauthorizedErrorEncoded
    • Union_3
    • Union_4
    • Objects_
    • Objects_1
    • UsernameNotUniqueErrorEncoded
    • EmailNotUniqueErrorEncoded
    • GetOneProduct
    • UpdateGroupsPayload
    • Objects_2
    • Union_5
    • Enum_
    • Arrays_
    • Union_6
    • Objects_3
    • Union_7
    • Union_8
    • Union_9
    • Union_10
    • Objects_4
    • Objects_5
    • Objects_6
    • Arrays_1
    • Arrays_2
    • Arrays_3
    • DefaultProduct
    • VariantParentProduct
    • VariantProduct
    • ProductNotFoundErrorEncoded
    • ProductApiModule
    • ModuleNotActiveErrorEncoded
    • ModuleIncompatibleWithProductTypeErrorEncoded
    • ProductDeliveryModule
    • ProductDistributionModule
    • ProductLocationsModule
    • LocationAddress
    • ProductFilesModule
    • LocationLegal
    • ProductStockModule
    • LocationInvoice
    • ProductPriceModule
    • LocationContact
    • ProductWorkflowModule
    • ProductSocialsModule
    • ProductInternalCommentModule
    • ProductCampaignsModule
    • ProductPermissionsModule
    • LocationMedia
    • ProductReservationsModule
    • ProductTemplateModule
    • LocationMediaItem
    • InvalidTemplateModuleConfigurationErrorEncoded
    • Objects_7
    • Arrays_4
    • Arrays_5
    • FormBuilderElementChild
    • FormBuilderElement
    • CategorySchema
    • ProductFormBuilderModule
    • ProductVariantsModule
    • Enum_1
    • PostNotFoundErrorEncoded
    • Arrays_6
    • TranslationLabelSchema
    • Union_11
    • Union_12
    • Union_13
    • Union_14
    • LocationCoordinates
    • Union_16
    • Union_15
    • LocationOther
    • Union_17
    • PartialLocation
    • LocationNotFoundErrorEncoded
    • InvalidLocaleErrorEncoded
    • Location
    • DuplicateIdentifierErrorEncoded
    • Group
    • GroupNotFoundErrorEncoded
    • DuplicateGroupNameErrorEncoded
    • TranslationSchema
    • Objects_8
    • AssetNotFoundErrorEncoded
    • Union_18
    • Arrays_7
    • FileNotFoundErrorEncoded
    • InvalidAssetCategoriesErrorEncoded
    • MetaTagOptionSchema
    • MetaTagDefinitionSchema
    • MetaTagCategoryDefinitionSchema
    • AssetMetaTagsSchema
    • MetaTagValidationErrorEncoded
  1. Docs

Authentication

The Marvia API uses secure API keys to authenticate and authorize access to its services. API keys allow you to interact with Marvia's API and are required for all API requests.
Every request to the Marvia API must include an API key in the Authorization header.

Requirements#

To generate and use API keys, you must:
Have an active Marvia account
Have access to the Marvia Admin Dashboard
If you do not have an account or are a new customer, please reach out to our support team at support@getmarvia.com. They will guide you through the setup process and help you get started.

Generating an API Key#

API keys can be generated for either the staging or production environment, and can be scoped to specific permissions. Follow the steps below to create a new key.

Step 1: Log In#

Go to the Marvia Admin Dashboard:
Eg: https://demo.getmarvia.com/new/admin
Use your admin credentials to log in.

Step 2: Navigate to Marvia API Settings#

Navigate to the sidebar and click Settings
Go to Connections → Marvia API
Navigate to Marvia API Settings

Step 3: Start a New API Key#

Click on the New API key button
Generate a New API Key Page

Step 4: Configure Your API Key#

In the New API key panel, provide the following details:
Name: A descriptive name for your key (e.g., "Staging Client App", "Production Integration")
Environment: Select the environment the key should be issued for: Staging or Production
Permissions: Select the specific permissions (roles) the key should have, such as Read Locations, Update Users, Delete Groups, Read Users, Update Groups, etc. Only select the permissions your integration actually needs.
New API key modal with Name, Environment, and Permissions fields
Configure name, environment, and permissions
Environment dropdown showing Production and Staging options
Selecting an environment (Staging or Production)
Note: Choose permissions carefully and follow the principle of least privilege, only grant the access your integration needs. Permissions can include read, update, and delete actions across resources such as Locations, Users, and Groups.
Once you've configured the name, environment, and permissions, click New API key to generate the key.

Step 5: Copy and Secure the Key#

Copy the key immediately
Important: The API key will only be shown once. For security reasons, you won't be able to view it again.
Generated API key with a copy option
Copy key
Store it securely (e.g., in an environment variable, secrets manager, or encrypted config file)
Do not share or expose your key publicly
If you lose the key, you'll need to generate a new one by repeating the above steps.

Step 6: Lost or Regenerating a Key#

If the API key is lost, no worries, simply return to the Marvia Admin dashboard and generate a new one following the same steps above.
You can also delete / revoke the lost key as shown below.
Deleting/revoking an API key
Deleting a key

Making Authenticated API Requests#

All API requests must:
Use HTTPS
Include your API key in the Authorization header
Be sent to the base URL matching the environment your key was generated for (staging or production)

Example Request#

Note: Use the staging host (e.g., api-v2.staging.getmarvia.com) for keys generated with the Staging environment, and the corresponding production host for keys generated with the Production environment.
Modified at 2026-08-14 10:15:15
Previous
Getting Started
Next
Permissions
Built with