# Manage Projects
source: https://developer.mastercard.com/mastercard-developers-api/documentation/use-cases/manage_projects/index.md

This use case explains the various actions you can perform while managing your projects on Mastercard Developers. Learn how to request production access for your projects, add additional services to your project, get a status of existing projects or delete a project or a service.

## Request Production Access {#request-production-access}

Before you request production access, ensure you have fulfilled all the requirements that entitle you to access a production environment. To request production access, call [POST /projects/{project_id}/environments](https://developer.mastercard.com/mastercard-developers-api/documentation/api-reference/index.md).

API Reference: `POST /projects/{project_id}/environments`

Diagram requestprod

### Request Production Access with Dynamic Configuration {#request-production-access-with-dynamic-configuration}

Some services require additional details when you request production access --- for example, customerId, BINs, or ICA. To determine whether additional fields are required, call the [GET /services](https://developer.mastercard.com/mastercard-developers-api/documentation/api-reference/index.md) endpoint and check if the service you want to request production access for includes a `configSchemaId`.

If a `configSchemaId` is returned in the `GET /services` call, use the corresponding `serviceId` and call the [GET /services/{service_id}/config-schemas?configType=PROJECT_PRODUCTION](https://developer.mastercard.com/mastercard-developers-api/documentation/api-reference/index.md) endpoint. This returns a schema that tells you exactly which fields you need to include in your production access request --- including field names, types, accepted values, and which fields are required.

API Reference: `GET /services/{service_id}/config-schemas`

#### Endpoints: {#endpoints}

The following endpoints are used to complete the end-to-end flow for requesting production access when a service requires dynamic configuration.

|                               **Endpoint**                                |                                          **Purpose**                                          |
|---------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|
| `GET /services`                                                           | Retrieve the list of services and check if a `configSchemaId` is defined in the environments. |
| `GET /services/{service_id}/config-schemas?configType=PROJECT_PRODUCTION` | Retrieve the schema fields required when requesting production access.                        |
| `POST /projects/{project_id}/environments`                                | Include the required fields in the `config` object to request production access.              |

For a step-by-step guide to implement this flow, refer to the Request Production Access step in the [Create and Manage Projects](https://developer.mastercard.com/mastercard-developers-api/documentation/tutorials-and-guides/create-and-manage-projects/index.md) tutorial.
Diagram createproject-dc-prod

Production keys are generated instantaneously, but they still need to be approved for production environment access before you can go live. Once your production access request has been reviewed by Mastercard, you will receive an email notification confirming whether your access has been approved or denied.
Tip: Verifying your company is one of the requirements to approve your production access request. To learn more about company verification, see [Company Verification](https://developer.mastercard.com/platform/documentation/getting-started-with-mastercard-apis/managing-your-account/company-verification-via-connect-linking/)

## Get Project Details {#get-project-details}

If you want to retrieve details of a project, including the status of all credentials, call [GET project/{project_id}](https://developer.mastercard.com/mastercard-developers-api/documentation/api-reference/index.md) . For example, you can find out the status of your production access request. Ensure you have the specific `project_id` that uniquely identifies your project. This `project_id` is shared with you when you create a project. To learn more about creating a project, see   
[POST /projects](https://developer.mastercard.com/mastercard-developers-api/documentation/api-reference/index.md).

API Reference: `GET /projects/{project_id}`

Diagram getproject

## Get User's Projects {#get-users-projects}

Call [GET /projects](https://developer.mastercard.com/mastercard-developers-api/documentation/api-reference/index.md) to retrieve the list of projects available on the [project dashboard](https://developer.mastercard.com/dashboard) of your Mastercard Developer's account.

API Reference: `GET /projects`

Diagram getusersproject

## Add Services to a Project {#add-services-to-a-project}

You can add one or more APIs/services to an existing project. To add a service, call [POST /projects/{project_id}/services](https://developer.mastercard.com/mastercard-developers-api/documentation/api-reference/index.md).


API Reference: `POST /projects/{project_id}/services`

<br />

Diagram addservice

## Update a Project {#update-a-project}

Call [PUT /projects/{project_id}](https://developer.mastercard.com/mastercard-developers-api/documentation/api-reference/index.md#updateProject) to update the following details in a project:

* Project's `name`.
* Name of the `company` on behalf of which the project is created.
* `commercialCountries` - A list of countries where the service's customers are located. This field represents the countries where you can engage in business and is used to determine whether you are eligible to use a specific service or API in a geographic location.

Note: A client `company` cannot be updated once it has been verified. To learn more about company verification, see [Company Verification](https://developer.mastercard.com/platform/documentation/getting-started-with-mastercard-apis/managing-your-account/company-verification-via-connect-linking/).
API Reference: `PUT /projects/{project_id}`

Diagram updateproject

## Delete a Service {#delete-a-service}

If a service is no longer required or was added in error, you can remove the service from your project. To remove a service, call [DELETE services](https://developer.mastercard.com/mastercard-developers-api/documentation/api-reference/index.md). By deleting an API/service from your project you will lose all permissions that were granted previously.

API Reference: `DELETE /projects/{project_id}/services/{service_id}`

Diagram deleteservice

## Delete a Project {#delete-a-project}

If you don't need a project anymore, you can delete it by calling [DELETE /projects/{project_id}](https://developer.mastercard.com/mastercard-developers-api/documentation/api-reference/index.md). If you delete a project, you will lose all data associated with the project, including keys.

API Reference: `DELETE /projects/{project_id}`

Diagram deleteproject

## Next Steps {#next-steps}

Learn how to [manage project credentials](https://developer.mastercard.com/mastercard-developers-api/documentation/use-cases/manage_project_credentials/index.md).
