--- title: "Retrieve Entity Information With the Metadata API" slug: "retrieve-info-metadata-api" description: "Access Pigment's metadata APIs for Applications, Blocks, and Import Configurations with user-friendly integration options and secure authentication." tags: ["API Metadata", "Authentication", "Import Configuration", "Importing Exporting Data"] updated: 2025-08-29T09:26:43Z published: 2025-08-29T09:26:43Z canonical: "kb.pigment.com/retrieve-info-metadata-api" --- > ## Documentation Index > Fetch the complete documentation index at: https://kb.pigment.com/llms.txt > Use this file to discover all available pages before exploring further. # Retrieve Entity Information With the Metadata API Pigment provides access to select Application and Block metadata for import and export APIs that require a Block, View, or Import Configuration ID. These APIs can also be used to build advanced integration UIs with user-friendly configuration dropdown menus. ## Requirements and authentication ### API key requirements To access metadata API endpoints, you must use the **Modeling Metadata** API key type. This API key inherits the Workspace, data visibility, and permissions of the user who created it. To prevent issues with *data access* or *deactivated users*, it’s recommended to use a service account for creating the API key. > [!WARNING] > ⚠️ Important > > The Pigment public API enforces rate limits to ensure fair usage. The limit is 500 requests per 5-minute window per IP address. For more information, see [Rate Limits for Pigment Public API](/v1/docs/rate-limits-for-pigment-public-api). ### Authentication process Similar to import and export APIs, all metadata API endpoints have the same authentication based on API keys and Authorization HTTP header. To authenticate each API call, you need to add a HTTP [Authorization](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization) header to your request: `Authorization: Bearer {API_KEY}` Replace the `{API_KEY}` with the key you generated in **API Keys** in your **Workspace Settings**. Example call with a fake URL: ```plaintext curl "https://pigment.app/api/v1/metadata" \ -H "Authorization: Bearer ${API_KEY}" ``` ### Response format All metadata API endpoints return JSON responses. ## Get Applications from Workspace Lists all Applications in the Workspace associated with the API key. Endpoint to retrieve Applications: `https://pigment.app/api/v1/applications` Example API call: ```plaintext curl "https://pigment.app/api/v1/applications" \ -H "Authorization: Bearer ${API_KEY}" ``` Example response: ```json [  {    "id": "057f8f30-a9a0-4daf-becd-eadc08af93ae",    "name": "My Application"  },  {    "id": "2ad09a12-b5b0-4fc4-bcf1-f34d7771943c",    "name": "Other Application"  } ] ``` ## Get Blocks from an Application Lists all Blocks in a specific Application in the Workspace associated with the API key. Endpoint to retrieve Blocks: `https://pigment.app/api/v1/blocks?applicationId={APP_ID}` Example API call: ```plaintext curl "https://pigment.app/api/v1/blocks?applicationId=057f8f30-a9a0-4daf-becd-eadc08af93ae" \ -H "Authorization: Bearer ${API_KEY}" ``` Example response: ```json [  {    "id": "312c1741-b762-481f-85c2-19ebe91a348a",    "name": "Revenue per Country",    "type": "Metric"  },  {    "id": "adeb3492-3fed-48be-949e-683754f10777",    "name": "Country",    "type": "DimensionList"  },  {    "id": "cbd6404e-0683-403f-bad8-62b520bacc49",    "name": "Sales Transactions",    "type": "TransactionList"  },  {    "id": "d963374a-8363-47bb-9cbf-714f2e6f93db",    "name": "Exec Reporting",    "type": "Table"  } ] ``` ## Get Views from a Block Lists all Views in a specific Block in the Workspace associated with the API key. Endpoint to retrieve Views: `https://pigment.app/api/v1/views?applicationId={APP_ID}&blockId={BLK_ID}` Example API call: ```plaintext curl "https://pigment.app/api/v1/views?applicationId=057f8f30-a9a0-4daf-becd-eadc08af93ae&blockId=312c1741-b762-481f-85c2-19ebe91a348a" \ -H "Authorization: Bearer ${API_KEY}" ``` Example response: ```json [  {    "id": "38bdcbd7-585e-4a81-87a5-520d9e2cc7f0",    "name": "Default View",    "type": "Public"  },  {    "id": "f2f5edd7-e693-4071-9fce-fe7f16fb4379",    "name": "View 2",    "type": "Public"  } ] ``` ## Get Import Configurations from a Block Retrieves the details of import configurations associated with a specific Block in your Application. Endpoint to retrieve Import Configurations: `https://pigment.app/api/v1/importConfigurations?applicationId={APP_ID}&blockId={BLK_ID}` Example API call: ```plaintext curl "https://pigment.app/api/v1/importConfigurations?applicationId=057f8f30-a9a0-4daf-becd-eadc08af93ae&blockId=312c1741-b762-481f-85c2-19ebe91a348a" \ -H "Authorization: Bearer ${API_KEY}" ``` Example response: ```json [  {    "id": "3e904a36-bad3-413a-9db1-204d7911be57",    "name": "CSV import config"  } ] ``` > [!WARNING] > **⚠️** **Important** > > Imports aren’t possible on Tables, so if you send a request for import configurations from a Table Block type, you will get an empty response (empty JSON list). ## Swagger / OpenAPI specification Visit the [Pigment Swagger page](https://pigment.app/api/swagger/) to view all publicly available API endpoints.