All integrations

Mapbox

DATA · DATA & ANALYTICS

Geocoding, place search, and driving, walking and cycling directions on their key.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

mapbox_delete_datasets_v1_by_dataset_idWRITE

Delete a specific dataset. All the features contained in the dataset will be deleted too. via DELETE /datasets/v1/{username}/{dataset_id}

datasets:write
mapbox_delete_datasets_v1_by_dataset_id_features_by_feature_idWRITE

Remove a specific feature from a dataset. via DELETE /datasets/v1/{username}/{dataset_id}/features/{feature_id}

datasets:write
mapbox_delete_fonts_v1_by_fontWRITE

Delete a font from your account. WARNING: If you delete a font that's used by a map style, it may break your map! via DELETE /fonts/v1/{username}/{font}

fonts:write
mapbox_delete_styles_v1_by_style_idWRITE

Delete a style. All sprites that belong to this style will also be deleted, and the style will no longer be available. via DELETE /styles/v1/{username}/{style_id}

styles:write
mapbox_delete_styles_v1_by_style_id_spriteWRITE

Remove a batch of images from an existing sprite. via DELETE /styles/v1/{username}/{style_id}/sprite

styles:write
mapbox_delete_styles_v1_by_style_id_sprite_by_icon_nameWRITE

Remove an image from an existing sprite. via DELETE /styles/v1/{username}/{style_id}/sprite/{icon_name}

styles:write
mapbox_delete_tilesets_v1_by_tileset_idWRITE

Delete a tileset. Note that you can only delete your own tileset. via DELETE /tilesets/v1/{tileset_id}

tilesets:write
mapbox_delete_tilesets_v1_changesets_by_idWRITE

Permanently delete a changeset and all its files. This is not a recoverable action. Note (warning): Don't delete a changeset while it's in use If you delete a changeset, any in-progress update jobs that use that changeset source will fail. via DELETE /tilesets/v1/changesets/{username}/{id}

tilesets:write
mapbox_delete_tilesets_v1_sources_by_idWRITE

Permanently delete a tileset source and all its files. This is not a recoverable action. Note (warning): Don't delete a tileset source while it's in use If you delete a tileset source, any in-progress jobs that use that tileset source will fail. via DELETE /tilesets/v1/sources/{username}/{id}

tilesets:write
mapbox_delete_tokens_v2_by_token_idWRITE

Delete an access token. This will revoke its authorization and remove its access to Mapbox APIs. Applications using the revoked token will need to get a new access token before they can access Mapbox APIs. Note that cached resources may continue to be accessible for a while after a token is deleted. No new or updated resources will be accessible with the deleted token. via DELETE /tokens/v2/{username}/{token_id}

tokens:write
mapbox_delete_uploads_v1_by_upload_idWRITE

Remove the status of a completed upload from the upload listing. Uploads are only statuses, so removing an upload from the listing doesn't delete the associated tileset. Tilesets can only be deleted from within Mapbox Studio. An upload status cannot be removed from the upload listing until after it has completed. via DELETE /uploads/v1/{username}/{upload_id}

uploads:write
mapbox_get_activity_v1_tilesetsREAD

Lists 30-day activity data for all tilesets belonging to a specific account. This endpoint supports pagination, returning 100 activity objects by default and a maximum of 500. via GET /activity/v1/{username}/tilesets

tilesets:list
mapbox_get_datasets_v1READ

List all the datasets that belong to a particular account. This endpoint supports pagination. via GET /datasets/v1/{username}

datasets:list
mapbox_get_datasets_v1_by_dataset_idREAD

Retrieve information about a single existing dataset. via GET /datasets/v1/{username}/{dataset_id}

datasets:read
mapbox_get_datasets_v1_by_dataset_id_featuresREAD

List all the features in a dataset. This endpoint supports pagination so that you can list many features. via GET /datasets/v1/{username}/{dataset_id}/features

datasets:read
mapbox_get_datasets_v1_by_dataset_id_features_by_feature_idREAD

Retrieve a specific feature from a dataset. via GET /datasets/v1/{username}/{dataset_id}/features/{feature_id}

datasets:read
mapbox_get_directions_matrix_v1_by_profile_by_coordinatesREAD

Returns a duration matrix, a distance matrix, or both, showing travel times and distances between coordinates. In the default case, this endpoint returns a symmetric matrix that uses all the input coordinates as sources and destinations (N×N). Using the optional `sources` and `destination` parameters, you can also generate an asymmetric matrix that uses only some coordinates as sources or destinations: one to many (1×N), many to one (N×1), and several to several (M×N). To learn more about how to use these parameters to create each of these matrix types, experiment with the `sources` and `destinations` parameters in the Matrix API Playground. via GET /directions-matrix/v1/{profile}/{coordinates}

api
mapbox_get_directions_v5_by_profile_by_coordinatesREAD

Retrieve directions between waypoints. Directions requests must specify at least two waypoints as starting and ending points. via GET /directions/v5/{profile}/{coordinates}

api
mapbox_get_ev_v1_locationsREAD

Search for EV Charge Points via GET /ev/v1/locations

api
mapbox_get_ev_v1_locations_by_location_idREAD

Get Charge Point details by ID via GET /ev/v1/locations/{location_id}

api
mapbox_get_ev_v1_operatorsREAD

Retrieve list of Charge Point Operators via GET /ev/v1/operators

api
mapbox_get_fonts_v1READ

Retrieve a list of fonts for a specific account. via GET /fonts/v1/{username}

fonts:list
mapbox_get_fonts_v1_by_font_by_start_by_end_pbfREAD

While glyph ranges are usually not of interest unless you're building a map renderer, this is the endpoint you can use to access them. Font glyph ranges are protocol buffer-encoded signed distance fields. They can be used to show fonts at a variety of scales and rotations. One glyph is used at all scales. via GET /fonts/v1/{username}/{font}/{start}-{end}.pbf

fonts:read
mapbox_get_fonts_v1_by_font_metadataREAD

Retrieve font metadata via GET /fonts/v1/{username}/{font}/metadata

fonts:read
mapbox_get_geocoding_v5_by_endpoint_batch_by_search_textsREAD

The batch geocoding query type allows you to have multiple forward or reverse geocoding queries in a single request. Batch geocoding is only available using the `mapbox.places-permanent` endpoint. If you are interested in using `mapbox.places-permanent` to do batch geocodes, contact Mapbox sales. Batch geocoding requests are formatted similarly to ordinary forward or reverse geocoding requests, but with multiple search queries one after another, separated by semicolons. Each query should be URL encoded, but the `;` character should not be encoded and should be included verbatim. Note: Billing for batch geocoding requests Each individual semicolon-separated search in a batch geocoding request counts as one request. A batch forward geocoding request with three search strings, for example `Juneau,Alaska;Fresno,CA;Phoenix,Arizona`, would count as three requests. These three requests would count against your rate limit. They would also be billed as three individual requests, which would be reflected on your statistics graph and your bill. You can make a *batch forward geocoding request* by using an `HTTP GET` request: via GET /geocoding/v5/{endpoint}/{search_text_1};{search_text_2};{search_text_N}.json

api
mapbox_get_geocoding_v5_by_endpoint_forward_by_search_textREAD

The forward geocoding query type allows you to look up a single location by name and returns its geographic coordinates. via GET /geocoding/v5/{endpoint}/{search_text}.json

api
mapbox_get_geocoding_v5_by_endpoint_intersection_by_street_1_by_street_2READ

Intersection search allows users to search for a point where two streets intersect, without a precise address. Make an intersection search request by inserting an `and` or `&` between the two street names. via GET /geocoding/v5/{endpoint}/{street_1}%20and%20{street_2}.json

api
mapbox_get_geocoding_v5_by_endpoint_reverse_by_longitude_by_latitudeREAD

The reverse geocoding query type allows you to look up a single pair of coordinates and returns the geographic feature or features that exist at that location. via GET /geocoding/v5/{endpoint}/{longitude},{latitude}.json

api
mapbox_get_isochrone_v1_by_profile_by_coordinatesREAD

Given a location and a routing profile, retrieve up to four isochrone contours. The contours are calculated using rasters and are returned as either polygon or line features, depending on your input setting for the `polygons` parameter. via GET /isochrone/v1/{profile}/{coordinates}

api
mapbox_get_matching_v5_by_profile_by_coordinates_jsonREAD

Return a path on the road and path network that is closest to the input traces. via GET /matching/v5/{profile}/{coordinates}.json

api
mapbox_get_optimized_trips_v1_by_profile_by_coordinatesREAD

A call to this endpoint retrieves a duration-optimized route between input coordinates. via GET /optimized-trips/v1/{profile}/{coordinates}

api
mapbox_get_optimized_trips_v2READ

You can fetch a list of all the routing problems you have submitted along with their current processing statuses. To do so, make a HTTP `GET` request against the base URL. via GET /optimized-trips/v2

api
mapbox_get_optimized_trips_v2_by_idREAD

To retrieve a solution, you must have the `id` generated when the routing problem was submitted. If you did not save the `id` for your submission, you can retrieve a list of all your submissions to find the `id`. Refer to the solution document section to better understand the solutions that you receive from the Optimization v2 API. via GET /optimized-trips/v2/{id}

api
mapbox_get_places_v1_details_retrieve_by_mapbox_idREAD

Returns a single Place record identified by its `mapbox_id`. via GET /places/v1/details/retrieve/{mapbox_id}

api
mapbox_get_rasterarrays_v1_by_tileset_id_by_zoom_by_x_by_y_mrtREAD

Retrieve rasterarray tiles via GET /rasterarrays/v1/{tileset_id}/{zoom}/{x}/{y}.mrt

api
mapbox_get_scopes_v1READ

List scopes for a user. All potential scopes a user has access to are listed. Public tokens may only contain scopes with the `public` property set to `true`. Secret tokens may contain any scope. via GET /scopes/v1/{username}

scopes:list
mapbox_get_search_geocode_v6_forwardREAD

The forward geocoding query type allows you to look up a location using a string of search text and returns its standardized address, geographic context, and coordinates. via GET /search/geocode/v6/forward

api
mapbox_get_search_geocode_v6_reverseREAD

The reverse geocoding query type allows you to look up a pair of coordinates and returns the geographic features there, including a standardized address or place and full geographic context. via GET /search/geocode/v6/reverse

api
mapbox_get_search_searchbox_v1_category_by_canonical_category_idREAD

Use the category search endpoint if you want to query points of interest (POIs) results filtered by a category at a specific location or along a route. The endpoint only returns POIs with the specified category. Examples of how you can use the `/category` endpoint: - Find food around you (`food_and_drink`) - Find an Indian restaurant (`indian_restaurant`) - Find a gas station along a route (`gas_station`) via GET /search/searchbox/v1/category/{canonical_category_id}

api
mapbox_get_search_searchbox_v1_forwardREAD

Get search results via GET /search/searchbox/v1/forward

api
mapbox_get_search_searchbox_v1_list_categoryREAD

Get category list via GET /search/searchbox/v1/list/category

api
mapbox_get_search_searchbox_v1_retrieve_by_idREAD

After a successful call to the `/suggest` endpoint, use the ID in a suggestion's `mapbox_id` property to retrieve detailed information about the feature. via GET /search/searchbox/v1/retrieve/{id}

api
mapbox_get_search_searchbox_v1_reverseREAD

Do a reverse lookup via GET /search/searchbox/v1/reverse

api
mapbox_get_search_searchbox_v1_suggestREAD

This endpoint provides a list of suggested search results for the user query. This endpoint, along with the `/retrieve` endpoint, can be used to add autocomplete search functionality to your applications. via GET /search/searchbox/v1/suggest

api
mapbox_get_styles_v1READ

Retrieve a list of styles for a specific account. This endpoint supports pagination. Since styles are generally quite large, it's likely that a response to this endpoint will start paginating sooner than other list endpoints. If you have many styles in your account, you may need to repeatedly use the `next` link relation in the `Link` header of the response to retrieve them all. via GET /styles/v1/{username}

styles:list
mapbox_get_styles_v1_by_style_idREAD

Retrieve a style as a JSON document. via GET /styles/v1/{username}/{style_id}

styles:read
mapbox_get_styles_v1_by_style_id_by_sprite_id_sprite_2x_by_formatREAD

Retrieve a sprite image or its JSON document from a Mapbox style. via GET /styles/v1/{username}/{style_id}/{sprite_id}/sprite{@2x}.{format}

styles:read
mapbox_get_styles_v1_by_style_id_htmlREAD

Request embeddable or shareable HTML. via GET /styles/v1/{username}/{style_id}.html

styles:read
mapbox_get_styles_v1_by_style_id_static_by_overlay_by_position_by_widthxby_height_2x_by_formatREAD

The position of the map is represented by either the word `auto`, a bounding box, or by five numbers: longitude, latitude, zoom, bearing, and pitch. The last two numbers, bearing and pitch, are optional. If you only specify bearing and not pitch, pitch will default to `0`. If you specify neither, they will both default to `0`. If you specify `auto` or `bbox`, you should not provide any of these numbers. You can use the `format` parameter to specify output image format, otherwise it will be defined implicitly, depending on the used sources. via GET /styles/v1/{username}/{style_id}/static/{overlay}/{lon},{lat},{zoom},{bearing},{pitch}|{bbox}|{auto}/{width}x{height}{@2x}{.format}

styles:tiles
mapbox_get_styles_v1_by_style_id_tiles_by_tilesize_by_z_by_x_by_y_2x_by_formatREAD

Retrieve raster tiles from a Mapbox Studio style. - The returned raster tile will be 512 pixels by 512 pixels by default. - You can use the `format` parameter to specify the tile output format, otherwise it will be defined implicitly, depending on the used sources. Leaflet.js uses this endpoint to render raster tiles from a Mapbox Studio style with `L.tileLayer`. via GET /styles/v1/{username}/{style_id}/tiles/{tilesize}/{z}/{x}/{y}{@2x}{.format}

api
mapbox_get_styles_v1_by_style_id_wmtsREAD

Mapbox supports access via the WMTS standard, which lets you use maps with desktop and online GIS software like ArcMap and QGIS. via GET /styles/v1/{username}/{style_id}/wmts

api
mapbox_get_styles_v1_by_style_id_zipREAD

Note Access to this endpoint is available upon request. To request that access be enabled for your account, contact Mapbox support. Retrieves a ZIP file containing the style JSON, sprite images, referenced custom fonts, and a license file. After retrieval, the style ZIP bundle response is cached for a few minutes, so later requests may return the same content even if the style has been modified in the interim. via GET /styles/v1/{username}/{style_id}.zip

styles:download
mapbox_get_tilesets_v1READ

List all the tilesets that belong to a specific account. This endpoint supports pagination. It returns a maximum of 100 tilesets by default. via GET /tilesets/v1/{username}

tilesets:list
mapbox_get_tilesets_v1_by_tileset_id_jobsREAD

List information about all jobs associated with a tileset. You can also use this endpoint to query jobs at a specific processing stage: `processing`, `queued`, `success`, `failed`, or `superseded`. This endpoint supports pagination. via GET /tilesets/v1/{tileset_id}/jobs

tilesets:list
mapbox_get_tilesets_v1_by_tileset_id_jobs_by_job_idREAD

Retrieve information about a single job associated with a tileset, based on its unique job ID. via GET /tilesets/v1/{tileset_id}/jobs/{job_id}

tilesets:read
mapbox_get_tilesets_v1_by_tileset_id_recipeREAD

Request the recipe body that you used when you created a specific tileset. via GET /tilesets/v1/{tileset_id}/recipe

tilesets:list
mapbox_get_tilesets_v1_changesetsREAD

List all the changesets that belong to an account. This endpoint supports pagination. via GET /tilesets/v1/changesets/{username}

tilesets:list
mapbox_get_tilesets_v1_sourcesREAD

List all the tileset sources that belong to an account. This endpoint supports pagination. via GET /tilesets/v1/sources/{username}

tilesets:list
mapbox_get_tilesets_v1_sources_by_idREAD

Get information for a specific tileset source, including the number and total size of the files in the tileset source. via GET /tilesets/v1/sources/{username}/{id}

tilesets:read
mapbox_get_tokens_v2READ

List all the tokens that belong to an account. This endpoint supports pagination. via GET /tokens/v2/{username}

tokens:read
mapbox_get_tokens_v2_checkREAD

Retrieve an access token and check whether it is valid. If the token is invalid, an explanation is returned as the `code` property in the response body. via GET /tokens/v2

api
mapbox_get_uploads_v1READ

Retrieve multiple upload statuses at the same time, sorted by the most recently created. This endpoint supports pagination so that you can list many uploads. via GET /uploads/v1/{username}

uploads:list
mapbox_get_uploads_v1_by_upload_idREAD

Once an upload is created, you can track its status. Uploads have a `progress` property that start at `0` and end at `1` when an upload is complete. If there's an error processing an upload, the `error` property will include an error message. via GET /uploads/v1/{username}/{upload_id}

uploads:read
mapbox_get_user_feedback_v1_feedbackREAD

This endpoint returns a list of user feedback items associated with your organization's account, with options to filter, sort, and paginate the results. It's designed to power both interactive applications like the Feedback Explorer and automated data pipelines. Note: Polling for updates To periodically pull new or updated feedback into your own systems, we recommend polling this endpoint. You can track the latest updates by querying with `sort_by=updated_at&order=asc` and using the `after` parameter with the `end_cursor` from the last response. Repeat the request until you receive an empty `items` array. via GET /user-feedback/v1/feedback

api
mapbox_get_user_feedback_v1_feedback_by_feedback_idREAD

This endpoint retrieves a single feedback item by its unique ID. The response is a single feedback item object. via GET /user-feedback/v1/feedback/{feedback_id}

api
mapbox_get_v4_by_tileset_id_by_zoom_by_x_by_y_2x_by_formatREAD

Retrieve raster tiles via GET /v4/{tileset_id}/{zoom}/{x}/{y}{@2x}.{format}

api
mapbox_get_v4_by_tileset_id_by_zoom_by_x_by_y_by_formatREAD

Retrieve vector tiles via GET /v4/{tileset_id}/{zoom}/{x}/{y}.{format}

api
mapbox_get_v4_by_tileset_id_jsonREAD

Given a valid Mapbox tileset ID, returns TileJSON metadata for that tileset. via GET /v4/{tileset_id}.json

api
mapbox_get_v4_by_tileset_id_tilequery_by_lon_by_lat_jsonREAD

Use this endpoint to retrieve features a tileset. via GET /v4/{tileset_id}/tilequery/{lon},{lat}.json

api
mapbox_patch_datasets_v1_by_dataset_idWRITE

Update the properties of a specific dataset. The request body must be valid JSON. This endpoint is used to change the `name` and `description` of the dataset object. To add features to a dataset or edit existing dataset features, use the Insert or update a feature endpoint. via PATCH /datasets/v1/{username}/{dataset_id}

datasets:write
mapbox_patch_fonts_v1_by_font_metadataWRITE

Update the `visibility` property of font metadata. Although the metadata contains a few properties, only `visibility` can be changed. The only valid values for `visibility` are `public` and `private`. via PATCH /fonts/v1/{username}/{font}/metadata

fonts:write
mapbox_patch_styles_v1_by_style_idWRITE

Updates an existing style in your account with new content. The request body must be a style object that conforms to the rules outlined in the style object section of this documentation. Invalid styles will produce a descriptive validation error. Additionally, when you update a style using the Styles API: - The `name` property, which is optional for creating a style, is required in the request body to update a style. - If you request a style and then use the unaltered response to update the style, this action will fail. You must remove the `created` and `modified` properties before updating a style. - The `glyphs` field will be overwritten to point to your user glyph endpoint, unless it's referring to the Mapbox glyph endpoint, `mapbox://fonts/mapbox/{fontstack}/{range}.pbf`. - If the `sprite` field does not include your username, and the sprite field points to the sprite of a style that either belongs to `mapbox` or is public, the Styles API will copy all images to the updated style's spritesheet and overwrite the `sprite` value to point to the updated style's sprite. Cross-version `PATCH` requests are rejected. via PATCH /styles/v1/{username}/{style_id}

styles:write
mapbox_patch_tilesets_v1_by_tileset_idWRITE

Update a tileset's information such as name, description, and privacy settings. This is not the endpoint for updating a tileset's recipe, sources, or tiles. via PATCH /tilesets/v1/{tileset_id}

tilesets:write
mapbox_patch_tilesets_v1_by_tileset_id_recipeWRITE

Update a tileset's recipe. This endpoint does a validation step on the new recipe. via PATCH /tilesets/v1/{tileset_id}/recipe

tilesets:write
mapbox_patch_tokens_v2_by_token_idWRITE

Update the `note`, the `scopes`, the `allowedUrls`, or all three in a token's metadata. When updating scopes for an existing token, the token sent along with the request must also have the scopes you're requesting. It is not possible to create a token with access to more scopes than the token that updated it. via PATCH /tokens/v2/{username}/{token_id}

tokens:write
mapbox_post_datasets_v1WRITE

Create a new, empty dataset. via POST /datasets/v1/{username}

datasets:write
mapbox_post_optimized_trips_v2WRITE

To submit a routing problem, make a HTTP POST request with a `Content-Type` of `application/json`, and submit the routing problem document JSON as the POST body. via POST /optimized-trips/v2

api
mapbox_post_places_v1_details_retrieveREAD

Returns Place records for a batch of up to 100 `mapbox_id` values in a single request. via POST /places/v1/details/retrieve

api
mapbox_post_search_geocode_v6_batchREAD

The batch geocoding query type allows you to request up to 1000 forward or reverse geocoding queries in a single request. Batch geocoding requests are formatted as a JSON object passed as the `BODY` of the request, but with multiple search queries one after another. Fields which were defined as query parameters in the URL string will become fields in the JSON object. Fields specifying multiple values (for example `types`, `country`, `bbox`, `proximity`) can be passed either as a comma-separated strings or as JSON-formatted arrays (for example a types filter value could be represented as `"address,street,place"` or `["address", "street", "place"]`). In a single batch geocoding request, you can bundle queries of different types, including forward queries, forward Structure Input queries, and reverse queries. Each query can also has parameters defined individually -- for example one query could have IP proximity set to on while the rest have it off. Note: Billing for batch geocoding requests Each individual search in a batch geocoding request counts as one request. You can make a *batch geocoding request* by using an `HTTP POST` request with the following body structure: via POST /search/geocode/v6/batch

api
mapbox_post_styles_v1WRITE

Creates a style in your account. The posted style object must conform to the rules outlined in the style object section of this documentation. Invalid styles will produce a descriptive validation error. Additionally, when you create a style using the Styles API: - The `glyphs` field will be overwritten to point to your user glyph endpoint, unless it's referring to the Mapbox glyph endpoint, `mapbox://fonts/mapbox/{fontstack}/{range}.pbf`. - If the `sprite` field does not include your username, and the sprite field points to the sprite of a style that either belongs to `mapbox` or is public, the Styles API will copy all images to the new style's spritesheet and overwrite the `sprite` value to point to the new style's sprite. - If the optional `name` property is not used in the request body, the `name` of the new style will be automatically set to the style's ID. via POST /styles/v1/{username}

styles:write
mapbox_post_styles_v1_by_style_id_spriteWRITE

Add a batch of new images to an existing sprite in a Mapbox style. The request body must be multipart form data that uses the form field name `images` to reference the SVG image files. A request can contain a maximum of 25 image files. Each individual image file in a request must be under 30 KB. via POST /styles/v1/{username}/{style_id}/sprite

styles:write
mapbox_post_tilesets_v1_by_tileset_idWRITE

Note: Prerequisites for creating a new tileset *Before you can create a new tileset, you need to create a tileset source and write a tileset recipe.* The tileset recipe defines how to transform the data in the tileset source into vector tiles. Create a new tileset. via POST /tilesets/v1/{tileset_id}

tilesets:write
mapbox_post_tilesets_v1_by_tileset_id_publishWRITE

Once you've created a tileset, you can request that the data be published into vector tiles. This action will start an asynchronous process known as a job that retrieves your data and processes it into vector tiles according to the recipe you have defined. This endpoint can also be used to *update* an existing tileset or to *reset* a tileset enabled for incremental updates. Note that due to tile caching, when updating an existing tileset new tiles will only become visible as the cached versions of those tiles expire. A given tileset can only have one active processing publish job at a time. This ensures the data you have staged is processed before any future data you have staged is processed. If your tileset has an active publish request being processed, all later publish requests will be queued to run in the order they were received. You can only have five jobs in the queue per account. All jobs are entered into a global Mapbox queue. The larger the queue, the longer it will take your tileset to process. For instructions on how to see the size of the queue, see the View the global queue section. The size of a single vector tile is limited to 500 KB. If a job drops features due to tile size, this will be noted in the `warnings` field of the job object. via POST /tilesets/v1/{tileset_id}/publish

tilesets:write
mapbox_post_tilesets_v1_by_tileset_id_publish_changesetsWRITE

Once you have enabled incremental updates on a tileset, you can request that the changeset be published into vector tiles. This action will start an asynchronous process known as a job that retrieves your data and processes it into vector tiles according to the recipe you have defined. This endpoint is the only way to incrementally update a tileset. The tileset recipe must be unchanged since the initial publish or reset job. Note that due to tile caching, when updating an existing tileset new tiles will only become visible as the cached versions of those tiles expire. A given tileset can only have one active processing publish job at a time. This ensures the data you have staged is processed before any future data you have staged is processed. If your tileset has an active publish request being processed, all later publish requests will be queued to run in the order they were received. You can only have five jobs in the queue per account. All jobs are entered into a global Mapbox queue. The larger the queue, the longer it will take your tileset to process. For instructions on how to see the size of the queue, see the View the global queue section. The size of a single vector tile is limited to 500 KB. If a job drops features due to tile size, this will be noted in the `warnings` field of the job object. via POST /tilesets/v1/{tileset_id}/publish-changesets

tilesets:write
mapbox_post_tokens_v2WRITE

Creates a new token. Every requested scope must be present in the access token used to allow the request. It is not possible to create a token with access to more scopes than the token that created it. To create additional tokens using the Mapbox Tokens API, you need to have an authorizing token that has the `tokens:write` scope, as well as all the scopes you want to add to the newly created token. To create the authorization token, visit the Access Token page in your account, and click Create a token. Note that while it is possible to create a token with no scopes, you will not be able to update this token later to include any scopes. via POST /tokens/v2/{username}

tokens:write
mapbox_post_uploads_v1WRITE

Uploads can be created from a file staged on Mapbox's S3 bucket, or from an existing Mapbox dataset. After you have used the temporary S3 credentials to transfer your file to Mapbox's staging bucket, you can trigger the generation of a tileset using the file's URL and a destination tileset ID. Uploaded files *must* be in the bucket provided by Mapbox. Requests for resources from other S3 buckets or URLs will fail. Note: You can only replace existing tilesets created with the Uploads API with this endpoint. You cannot replace a tileset created with Mapbox Tiling Service (MTS) with a tileset created with the Uploads API. via POST /uploads/v1/{username}

uploads:write
mapbox_post_uploads_v1_credentialsWRITE

Mapbox provides an Amazon S3 bucket to stage your file while your upload is processed. This endpoint allows you to retrieve temporary S3 credentials to use during the staging process. Note: This step is necessary before you can stage a file in the Amazon S3 bucket provided by Mapbox. All uploads must be staged in this Amazon S3 bucket before being uploaded to your Mapbox account. To learn more about how to stage an upload to Amazon S3, read the Upload to Mapbox using cURL tutorial. via POST /uploads/v1/{username}/credentials

uploads:write
mapbox_post_user_feedback_v1_feedbackWRITE

This endpoint creates a single feedback item with its unique ID assigned automatically. The response is a single feedback item object. via POST /user-feedback/v1/feedback

api
mapbox_put_datasets_v1_by_dataset_id_features_by_feature_idWRITE

Insert or update a feature in a specified dataset: - Insert: If a feature with the given `feature_id` does not already exist, a new feature will be created. - Update: If a feature with the given `feature_id` already exists, it will be replaced. If you are inserting a feature into a dataset, you must add the feature as the body of the `PUT` request. This should be one individual GeoJSON feature, not a GeoJSON FeatureCollection. If the GeoJSON feature has a top-level `id` property, it must match the `feature_id` you use in the URL endpoint. via PUT /datasets/v1/{username}/{dataset_id}/features/{feature_id}

datasets:write
mapbox_put_styles_v1_by_style_id_protectedWRITE

Note Access to this endpoint is available upon request. To request that access be enabled for your account, contact Mapbox support. Updates the protected status of a style. The request body must be a plain text string either `true` or `false`. Changing the status is only valid for styles without an active draft (which has a `modified` field ahead of the published version). This update will not change the style's `modified` field or sprite hashes. Protected styles cannot be edited and deleted using the Styles API or in Mapbox Studio. via PUT /styles/v1/{username}/{style_id}/protected

styles:protect
mapbox_put_styles_v1_by_style_id_sprite_by_icon_nameWRITE

Add a new image to an existing sprite in a Mapbox style. The request body should be raw SVG data. via PUT /styles/v1/{username}/{style_id}/sprite/{icon_name}

styles:write
mapbox_put_tilesets_v1_queueREAD

View the number of queued jobs in the global queue, which shows the number of jobs waiting to be processed. via PUT /tilesets/v1/queue

tilesets:read
mapbox_put_tilesets_v1_validaterecipeREAD

Validate a recipe document before using it to create a new tileset. The entire request body must be the recipe JSON document, which is the `recipe` part of the request body property of a tileset creation request. For guidance on how to format a recipe, see the Recipe reference. You can control the behavior of this endpoint with the following optional parameter: via PUT /tilesets/v1/validateRecipe

tilesets:write

Put Mapbox behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.