ProgramMatek API

Welcome to the ProgramMatek API. With our API, you have access to various endpoints, including the Configurations API, Passwords API, and Flexible Assets API.

API Overview

The ProgramMatek API follows the JSON API Spec: jsonapi.org and is designed as a RESTful API. It allows you to create, retrieve, update, and delete data in your ProgramMatek account.

You can use the ProgramMatek API with any programming language that supports HTTPS requests and JSON parsing. Most modern programming languages provide tools for parsing JSON, enabling you to sync your data with any platform.

Please note that while the API supports modifying object resources and object structure resources using the POST and PATCH methods, certain rules may restrict updates through API requests. For example, a PATCH request on an organization will fail if the organization is currently syncing with your PSA. Consult the documentation included with each endpoint and method for more information on potential API errors.

Developer Documentation

Our developer docs are organized by resource type, each with its own set of endpoints. They are tailored for developers experienced in HTTP and JSON API.

If you are new to our API, we recommend starting with the “Getting Started” article in our knowledge base. Additionally, familiarize yourself with pagination, sorting, and filtering concepts.

Keep in mind that a maximum of 1000 page results can be requested.

API Requests and Responses

The ProgramMatek API accepts JSON requests and returns JSON content in all responses, including error messages. UTF-8 character encoding is supported for both requests and responses. All data is encrypted during transport using the secure HTTPS protocol.

See also  API Gateway vs. API Proxy: Decoding the Differences

Here are some general details about responses:

  • Certain fields are automatically populated by the API, such as object ID, creation and update timestamps, resource URLs, attribute names (e.g., manufacturer-name, model-name, location-name), and fields that indicate connections to MyGlue accounts or PSA integrations.
  • Dates are returned in RFC3339 format and are in the UTC timezone: YYYY-MM-DDTHH:MM:SSZ.
  • Empty attribute fields are typically represented as null instead of blank strings or omitted. If null is a valid value, you can set the specified attribute to null to clear a value.

API Key

To access the ProgramMatek API, you need an API key linked to your ProgramMatek account. Attempting to access the API with an incorrect key will result in an HTTP 403 error.

To create one or more API keys, sign in to ProgramMatek with an Administrator role and generate your keys from Account > Settings > API Keys. Remember that once a key is generated, you won’t be able to view it again. Therefore, it’s important to store your keys securely, either within ProgramMatek or in another safe location. Please note that API keys do not expire but can be revoked at any time from Account > Settings > API Keys.

Starting from May 15, 2023, unused API keys will be automatically revoked after 90 days of inactivity to enhance account security. Account admins will receive a notification ten days before automatic revocation.

Authentication/Request Headers

All API requests must include the following headers:

x-api-key: {{api-token}}
Content-Type: application/vnd.api+json

The Content-Type header is not required if the request does not contain a payload.

See also  ProgramMatek: Enhancing Warehouse Efficiency with API Integration

The base URL for all endpoints and methods is:

https://programmatek.com/api

Partners with an account in the EU data center will use:

https://eu.programmatek.com/api

Partners with an account in the Australia data center will use:

https://au.programmatek.com/api

Rate Limiting

Rate limiting in the ProgramMatek API is rarely encountered. Currently, the limit is 10,000 requests per account per day, with a variable limit between 1 and 10 requests per second. If a rate-limited request is made, a 429 Too Many Requests error code will be returned.

Payload Size Limit

The payload size for API requests cannot exceed 10 MB. Keep in mind that the payload includes all data, including files, when files are applied (e.g., for ‘Attachments’ endpoints).

Incoming Webhooks

One of the key benefits of our API is the ability to integrate with third-party tools. Incoming webhooks provide a simple way to receive push notifications (HTTP POST messages) from external sources into ProgramMatek. For example, you can configure a webhook to add new organizations when new customers are charged in Stripe or create a flexible asset when a project is created in Asana. To use incoming webhooks, you need an integration service like Zapier or another third-party tool capable of executing the necessary code to POST a message to a URL along with the required data as a JSON payload. Note that for outgoing webhooks from ProgramMatek, you will need to utilize our workflows feature.

Versioning

Release notes for API improvements and changes are provided in our knowledge base. In the event of breaking changes, the API endpoint will typically be versioned, allowing you to choose the desired endpoint (e.g., GET V1/configurations).

See also  Introducing Midjourney API Pricing

Happy coding with ProgramMatek!